Python 使用boto将文件从S3复制到Google云存储
我试图在python脚本中自动将文件从S3复制到Google云存储 无论我看到哪里,人们都建议使用gsutil作为命令行实用程序 有人知道这是否直接复制文件吗?还是先把文件下载到电脑,然后再上传到GS 使用boto库和google的OAuth2插件可以做到这一点吗 这是我从谷歌的文档中得到的,还有一点小错误: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/
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上运行脚本。它仍然会通过脚本运行的源代码进行复制,但至少不需要遍历公司的网络。