У меня очень большая папка в Google Cloud Storage, и в настоящее время я удаляю папку со следующим кодом django - python при использовании Google App Engine в течение 30 секунд по умолчанию для тайм-аута http.
def deleteStorageFolder(bucketName, folder):
from google.cloud import storage
cloudStorageClient = storage.Client()
bucket = cloudStorageClient.bucket(bucketName)
logging.info("Deleting : " + folder)
try:
bucket.delete_blobs(blobs=bucket.list_blobs(prefix=folder))
except Exception as e:
logging.info(str(e.message))
Действительно невероятно, что Google Cloud ожидает, что приложение запросит информацию об объектах внутри папки один за другим, а затем удалит их один за другим.
Очевидно, что это происходит из-за тайм-аута. Какова будет лучшая стратегия здесь?
(Должен быть способ удаления родительского объекта из корзины, он должен удалить все связанные дочерние объекты где-то в фоновом режиме, и мы удалим связанные данные из нашей модели. Тогда Google Storage может свободно удаляйте данные всякий раз, когда они этого хотят. Но, насколько я понимаю, это не так, как все реализовано)