将GCS存储桶备份到存档级GCS存储桶

时间:2020-05-29 18:19:28

标签: google-cloud-storage

GCS Transfer Service是定期传输数据的不错的解决方案。将存储桶同步到另一个存储桶(目标存储桶具有归档存储类)的适当设置是什么?

我担心的一个问题是,如果服务正在检查相同的对象,则可能对归档类对象进行昂贵的操作。如果为了避免这些检查,我只是每天复制过去24小时之内的新文件,那么计时的准确性如何?由于作业开始时的几分钟抖动,我会错过文件吗?

1 个答案:

答案 0 :(得分:0)

“适当的设置”将完全取决于您的业务需求。一个好的方法可能是使用在标准存储桶上创建/完成时触发的Cloud Function,该功能会在第二个存储桶中创建该对象的副本。

您可以在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)