如何通过 Python 将 Google Cloud Storage 中的文件从一个存储桶移动到另一个存储桶

2022-01-25 00:00:00 python google-cloud-storage

问题描述

是否有任何 API 函数允许我们将 Google Cloud Storage 中的文件从一个存储桶移动到另一个存储桶?

Are there any API function that allow us to move files in Google Cloud Storage from one bucket in another bucket?

场景是我们希望 Python 将 A 存储桶中的读取文件移动到 B 存储桶.我知道 gsutil 可以做到这一点,但不确定 Python 是否支持.

The scenario is we want Python to move read files in A bucket to B bucket. I knew that gsutil could do that but not sure Python can support that or not.

谢谢.


解决方案

使用 google-api-python-client,上有一个例子storage.objects.copy 页面.复制后,您可以使用 storage.objects.delete.

Using the google-api-python-client, there is an example on the storage.objects.copy page. After you copy, you can delete the source with storage.objects.delete.

destination_object_resource = {}
req = client.objects().copy(
        sourceBucket=bucket1,
        sourceObject=old_object,
        destinationBucket=bucket2,
        destinationObject=new_object,
        body=destination_object_resource)
resp = req.execute()
print json.dumps(resp, indent=2)

client.objects().delete(
        bucket=bucket1,
        object=old_object).execute()

相关文章