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

AWS CLI v2上传S3时Payload未签名,如何配置实现签名?

AWS CLI v2 S3上传Payload签名配置问题解决

问题原因

AWS CLI v2的s3 cp命令默认会对超过100MB的文件启用分段上传,同时部分场景下会使用aws-chunked编码,这两种情况都会导致你配置的payload_signing_enabled=true无法直接触发完整Payload签名,从而出现x-amz-content-sha256:UNSIGNED-PAYLOAD的调试输出。

解决方案

1. 强制单文件上传(适合小文件)

如果你的文件小于100MB,可以通过--no-multipart参数禁用分段上传,强制CLI使用单文件模式,此时配置的Payload签名会生效:

aws s3 cp local_file s3://bucket --no-multipart

2. 配置分段上传的签名行为(适合大文件)

修改AWS配置文件(通常路径为~/.aws/config),补充以下配置项,确保分段上传时每个分块都被签名:

[default]
s3 =
    payload_signing_enabled = true
    use_accelerate_endpoint = false  # 若未启用S3加速端点,必须设置为false
    multipart_chunksize = 10485760  # 可选,自定义分块大小(示例为10MB)

3. 验证签名状态

添加--debug参数重新执行上传命令,检查调试输出:

  • 单文件上传时,x-amz-content-sha256会显示文件的SHA256哈希值;
  • 分段上传时,整体请求的x-amz-content-sha256会显示STREAMING-AWS4-HMAC-SHA256-PAYLOAD,同时每个分块请求会携带对应分块的SHA256值,这都代表Payload签名已正常启用。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.15 05:32:05