同一S3访问点内复制文件遇Invalid resource in copy source ARN错误求助
在同一S3访问点内复制文件时出现InvalidArgument错误
问题场景
尝试在同一S3访问点内复制文件,源地址与目标地址仅文件名不同,执行命令如下:
aws s3 cp s3://arn:aws:s3:eu-west-2:1234567890:accesspoint:my-access-point-name/path/to/local-1234567890.inprogress s3://arn:aws:s3:eu-west-2:1234567890:accesspoint:my-access-point-name/path/to/local-1234567890
返回错误信息:
copy failed: s3://arn:aws:s3:eu-west-2:1234567890:accesspoint:my-access-point-name/path/to/local-1234567890.inprogress to s3://arn:aws:s3:eu-west-2:1234567890:accesspoint:my-access-point-name/path/to/local-1234567890 An error occurred (InvalidArgument) when calling the CopyObject operation: Invalid resource in copy source ARN
错误原因
aws s3 cp命令不支持将完整的S3访问点ARN直接作为s3://路径的前缀。当使用访问点作为复制源时,需要使用正确的访问点路径格式,或调用s3api copy-object并构造合法的源ARN。
解决方法
方法1:使用访问点名称简化路径
直接用访问点名称代替ARN,命令格式如下:
aws s3 cp s3://my-access-point-name/path/to/local-1234567890.inprogress s3://my-access-point-name/path/to/local-1234567890 --region eu-west-2
方法2:使用s3api copy-object构造正确ARN
若需保留ARN格式,需在源ARN中添加/object/前缀来指定对象路径,执行命令:
aws s3api copy-object \ --copy-source arn:aws:s3:eu-west-2:1234567890:accesspoint/my-access-point-name/object/path/to/local-1234567890.inprogress \ --bucket arn:aws:s3:eu-west-2:1234567890:accesspoint/my-access-point-name \ --key path/to/local-1234567890 \ --region eu-west-2
内容的提问来源于stack exchange,提问作者adesai
相关产品推荐
相关产品推荐

