Есть ли способ «освободить» идентификаторы, которые были выделены?

#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 не создают сущности, просто выделяют идентификаторы для ручного ввода, не уверен, что вы можете их удалить (?) Может быть, я ошибаюсь?