Резервное копирование корзины GCS в корзину GCS архивного класса - PullRequest
1 голос
/ 29 мая 2020

GCS Transfer Service - хорошее решение для регулярной передачи данных. Каковы были бы подходящие настройки для синхронизации c одного ведра с другим, где целевое ведро имеет класс архивного хранилища?

Одно из моих беспокойств - это возможные дорогостоящие операции с объектами архивного класса, если сервис проверяет идентичные объекты. Если, чтобы избежать этих проверок, я просто ежедневно копирую файлы, которые являются новыми в течение последних 24 часов, насколько точно это время - могу ли я пропустить файл из-за временного дрожания в несколько минут при запуске задания?

1 Ответ

0 голосов
/ 30 мая 2020

Хотя «соответствующие настройки» будут полностью зависеть от потребностей вашего бизнеса. Хорошим подходом может быть использование облачной функции, запускаемой при создании / финализации в стандартной корзине, которая создает копию этого объекта во второй корзине.

Вы можете использовать эту функцию в python в качестве руководства:

from google.cloud import storage
from google.cloud.storage.blob import Blob

def hello_gcs(event, context):
    client = storage.Client()
    source_bucket = client.get_bucket("my_source_bucket)
    dest_bucket = client.get_bucket("my_destination_bucket")
    filename = str(event['id']).rsplit('/',1)[0]
    blob = Blob.from_string("gs://" + filename)
    source_bucket.copy_blob(blob,dest_bucket)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...