无法使用 aws CLI 的 s3 模块从请求者支付存储桶复制到我自己的存储桶,而我可以正常复制到我的机器


aws s3 cp s3://arxiv/pdf/arXiv_pdf_0001_001.tar s3://bucket --request-payer requester

失败与

致命错误:调用 HeadObject 操作时发生错误 (403(:禁止访问

但如果我这样做

aws s3 cp s3://arxiv/pdf/arXiv_pdf_0001_001.tar . --request-payer requester

它工作正常

此外,这也可以工作,但它一次只复制一个文件:

aws s3api copy-object --copy-source arxiv/pdf/arXiv_pdf_0001_001.tar --request-payer requester --key arXiv_pdf_0001_001.tar --bucket arxivmanifest

这是怎么回事?

当我运行第一个命令时,它给出了错误:

调用 GetObjectTagging 操作时出错(访问被拒绝(:访问被拒绝

这是因为aws s3 cp命令不仅仅是通过尝试复制标记(似乎(来复制文件。存储桶似乎也没有授予GetObjectTaggingAPI 调用的权限。

相比之下,aws s3api copy-object命令发出单个 API 调用。事实上,所有s3api命令都映射到特定的 API 调用。aws s3命令是执行更多操作的"更高级别"命令,例如启用--recursive副本(。

最新更新