#java #google-app-engine #google-cloud-datastore
#java #google-app-engine #google-cloud-хранилище данных
Вопрос:
Допустим, я выделил блок идентификаторов с помощью allocateIdRange
метода. Есть ли способ отменить это? Я нервничаю из-за выделения больших фрагментов идентификаторов, не имея возможности отменить его и потенциально / случайно выделяя большой диапазон идентификаторов, которые никогда не смогут быть выделены снова.
Ответ №1:
Короткий ответ: Нет, невозможно получить deallocate
идентификаторы после использования allocateIdRange
метода.
Длинный ответ: После долгих испытаний с помощью этого метода, я думаю, что «освободить» эти идентификаторы невозможно. Даже просматривая документы для хранилища данных или документы для API App Engine для любых возможных методов.
Поскольку вы беспокоитесь о выделении большого количества, а затем не можете снова выделить их, потому что они уже зарезервированы, я просто скажу, что быть осторожным — лучший вариант, поскольку в библиотеках нет встроенного метода deallocate
.
Комментарии:
1. Спасибо, что посмотрели. Это то, чего я боялся…
Ответ №2:
Я не пробовал это лично, но я бы просто подумал, что вы могли бы удалить ключи, которые хотели «освободить». Точно так же, как если бы вы удаляли объект в целом.
Комментарии:
1. Поскольку
allocateIdRange
иallocateIds
не создают сущности, просто выделяют идентификаторы для ручного ввода, не уверен, что вы можете их удалить (?) Может быть, я ошибаюсь?