大文件 RSYNC / CP 从 Google Bucket 到 S3 失败
Posted
技术标签:
【中文标题】大文件 RSYNC / CP 从 Google Bucket 到 S3 失败【英文标题】:Large file RSYNC / CP fails from Google Bucket to S3 【发布时间】:2019-10-04 05:18:22 【问题描述】:我有一个 Google Ubuntu 实例成功通过身份验证/连接到一个 Google 存储桶和一个 Amazon S3 存储桶。
我可以使用 ubuntu 实例复制/移动/编辑任一存储桶中的小文件/文件夹,并且可以直接上传到 AWS Web 界面
我在 google 存储桶中有大约 4 个文件,我正在尝试从 Google 获取 RSYNC 或 GSUTIL CP -> AWS
小文件没有问题,但任何超过几百兆字节的文件都会失败,并出现 ServiceException 400。
这是我尝试过的命令
gsutil -o GSUtil:parallel_composite_upload_threshold=150M cp -r gs://(source bucket)/ s3://(destination bucket)/
或
gsutil rsync -d -r gs://(source bucket) s3://(destination bucket)
任何人都可以建议他们以前是否遇到过这个问题以及推送 Google Bucket 的最佳方式 -> AWS 无需下载/上传.. 即直接存储桶到存储桶
【问题讨论】:
【参考方案1】:来自rsync - Synchronize content of two buckets/directories | Cloud Storage | Google Cloud:
如果您要在云之间同步大量数据,您可以考虑设置一个 Google Compute Engine 帐户并在那里运行
gsutil
。由于跨提供商gsutil
数据传输流经运行gsutil
的机器,因此与在本地工作站上运行gsutil
相比,这样做可以使您的传输运行得更快。
因此,使用此命令实际上确实下载然后上传数据。
由于您说您只有 4 个文件,因此从 Google Cloud 下载每个文件,然后使用 AWS Command-Line Interface (CLI) 将它们上传到 Amazon S3 可能同样容易。
【讨论】:
以上是关于大文件 RSYNC / CP 从 Google Bucket 到 S3 失败的主要内容,如果未能解决你的问题,请参考以下文章