Запрос блокировки файла GCS - PullRequest
0 голосов
/ 19 февраля 2019

Мы используем GCS (облачное хранилище Google), и мне интересно, заблокированы ли методы, описанные в https://cloud.google.com/appengine/docs/standard/python/googlecloudstorageclient/read-write-to-cloud-storage, с помощью открытия / закрытия файла от других вещей, обращающихся к нему во время операций?

IЯ новичок, и в настоящее время первый метод, который я нашел, использует загрузку и выгрузку в виде строковых функций в import cloudstorage as gcs

вроде ...

current_details = json.loads(device_blob.download_as_string().decode('utf-8'))
LOGGER.info(current_details)
current_details.update(details)
device_blob.upload_from_string(json.dumps(current_details))

Но здесь очевидно, что междузагрузка и выгрузка вызовов что-то еще может изменить файл.

Так что, если import cloudstorage as gcs - это путь, пожалуйста, дайте мне знать.

Спасибо!

1 Ответ

0 голосов
/ 19 февраля 2019

GCS вообще не имеет блокировки.Если вы хотите безопасно выполнить «чтение-изменение-запись», используйте Предварительные условия при загрузке, чтобы убедиться, что при записи ничего не изменилось за это время (и, если это произойдет, повторно выполните чтение& изменить с помощью самой последней версии).

К сожалению, библиотека Python cloudstorage имеет слабую поддержку для этого, возможно, вам придется использовать автоматически сгенерированную "библиотеку API Google" .

...