You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

S3 UploadPartCopy是否支持跨区域跨账号复制大对象?

S3 UploadPartCopy跨区域跨账号复制大对象问题解答

一、UploadPartCopy是否支持跨区域复制对象?

支持。UploadPartCopy本身允许跨区域复制对象,限制仅针对访问点——只有当源桶和目标桶在同一区域时,才能通过访问点执行复制操作,跨区域场景下直接使用常规的桶和对象路径即可正常操作。

二、如何在UploadPartCopy API中指定源区域和源账号?

指定源区域与对象

在UploadPartCopy请求的x-amz-copy-source请求头中,不要使用简单的bucket-name/file-name格式,而是采用带区域和账号信息的完整标识:

  • 格式1(ARN方式):arn:aws:s3:<源区域ID>:<源账号ID>:bucket/<源桶名称>/<对象键>
    示例:arn:aws:s3:us-east-1:123456789012:bucket/my-source-bucket/large-file.zip
  • 格式2(区域端点URL方式):https://<源桶名称>.s3.<源区域ID>.amazonaws.com/<对象键>
    示例:https://my-source-bucket.s3.us-east-1.amazonaws.com/large-file.zip

处理跨账号权限

要确保复制操作正常执行,需配置好权限:

  • 发起请求的目标账号身份(IAM用户/角色)必须拥有源对象的s3:GetObject权限;
  • 源桶的桶策略需要明确允许该目标账号身份访问对应的对象;
  • 也可以在源账号侧创建专用IAM角色,让目标账号身份通过AssumeRole获取访问源对象的权限,这种方式权限管控更精细。

额外注意事项

因为对象超过5GB,需要按分段上传流程操作:

  1. 先在目标桶调用CreateMultipartUpload初始化分段上传;
  2. 分批次调用UploadPartCopy复制每个分段(每个分段大小5MB~5GB,最后一段可小于5MB,总段数不超过10000);
  3. 所有分段复制完成后,调用CompleteMultipartUpload完成整个对象的复制。

内容的提问来源于stack exchange,提问作者Deqing

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.18 22:35:20