2014-09-22 62 views
4

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

该场景是我们希望Python将A桶中的读取文件移动到B桶。我知道gsutil可以做到这一点,但不知道Python可以支持或不支持。

谢谢。

+0

在Google Compute Engine中,您甚至可以从Python应用程序运行外部gsutil命令来移动文件。 – 2014-09-22 14:24:26

+0

你正在使用哪种Python API? – jterrace 2014-09-22 15:27:44

回答

3

使用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

您可以使用[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

请注意,针对#1记录的库专为与App Engine配合使用而设计。如果您不使用App Engine,则链接#2是您最好的选择。 – 2014-09-22 17:01:30

相关问题