是否有任何API函数允许我们将Google Cloud Storage中的文件从另一个存储桶中的一个存储桶移出?如何将Python Cloud Storage中的文件从一个存储桶移动到另一个存储桶
该场景是我们希望Python将A桶中的读取文件移动到B桶。我知道gsutil可以做到这一点,但不知道Python可以支持或不支持。
谢谢。
是否有任何API函数允许我们将Google Cloud Storage中的文件从另一个存储桶中的一个存储桶移出?如何将Python Cloud Storage中的文件从一个存储桶移动到另一个存储桶
该场景是我们希望Python将A桶中的读取文件移动到B桶。我知道gsutil可以做到这一点,但不知道Python可以支持或不支持。
谢谢。
使用google-api-python-client,有storage.objects.copy页上的示例。复制完成后,您可以使用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()
您可以使用[1]中记录的GCS客户端库函数读取到一个存储区并写入另一个存储区,然后删除源文件。
甚至可以使用[2]中记录的GCS REST API。
侨
保罗
链接:
[1] - https://developers.google.com/appengine/docs/python/googlecloudstorageclient/functions
[2] - https://developers.google.com/storage/docs/concepts-techniques#overview
请注意,针对#1记录的库专为与App Engine配合使用而设计。如果您不使用App Engine,则链接#2是您最好的选择。 – 2014-09-22 17:01:30
在Google Compute Engine中,您甚至可以从Python应用程序运行外部gsutil命令来移动文件。 – 2014-09-22 14:24:26
你正在使用哪种Python API? – jterrace 2014-09-22 15:27:44