Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 使用boto将文件从S3复制到Google云存储_Python_Amazon S3_Google Cloud Storage_Boto - Fatal编程技术网

Python 使用boto将文件从S3复制到Google云存储

Python 使用boto将文件从S3复制到Google云存储,python,amazon-s3,google-cloud-storage,boto,Python,Amazon S3,Google Cloud Storage,Boto,我试图在python脚本中自动将文件从S3复制到Google云存储 无论我看到哪里,人们都建议使用gsutil作为命令行实用程序 有人知道这是否直接复制文件吗?还是先把文件下载到电脑,然后再上传到GS 使用boto库和google的OAuth2插件可以做到这一点吗 这是我从谷歌的文档中得到的,还有一点小错误: src_uri = boto.storage_uri('bucket/source_file') dst_uri = boto.storage_uri('bucket/

我试图在python脚本中自动将文件从S3复制到Google云存储

无论我看到哪里,人们都建议使用gsutil作为命令行实用程序

有人知道这是否直接复制文件吗?还是先把文件下载到电脑,然后再上传到GS

使用boto库和google的OAuth2插件可以做到这一点吗

这是我从谷歌的文档中得到的,还有一点小错误:

src_uri = boto.storage_uri('bucket/source_file')          
dst_uri = boto.storage_uri('bucket/destination_file', 'gs')                

object_contents = StringIO.StringIO()                                        

src_uri.get_key().get_file(object_contents)                                  

object_contents.seek(0)                                                      

dst_uri.set_contents_from_file(object_contents)                              

object_contents.close()         
据我所知,我正在从一个文件读取到脚本运行的主机中的一个对象中,然后将这些内容上传到GS中的一个文件中


这是对的吗?

自从提出这个问题以来,已经可以使用了。如果您想在没有中间版本的情况下将文件从S3复制到GCS,这是一个很好的选择。

我知道这是可行的,但是有没有办法在脚本运行时直接从S3复制到GS,而不将文件内容带到主机?您可以在GCE上运行脚本。它仍然会通过脚本运行的源代码进行复制,但至少不需要遍历公司的网络。