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

使用s3cmd从EC2向配置Object Lock的S3存储桶传数据报错求助

报错根因

s3 error: 400 (invalidrequest): content-md5 http header is required for put object requests with object lock parameters

S3对象存储规范强制要求:所有携带Object Lock相关参数(包含保留模式、保留到期时间、法律保留状态等)的PUT对象请求,必须在请求头中携带Content-MD5字段做内容完整性校验,避免锁定已损坏的对象。默认配置下s3cmd不会主动为普通PUT请求生成该字段,因此触发报错。

解决方法

  • 临时生效方案:执行传输命令时添加--add-header=Content-MD5:参数,s3cmd会自动计算文件MD5值并填充到请求头中,示例命令如下:
    s3cmd put 本地文件路径 s3://目标存储桶名/存放路径 --add-header=Content-MD5:
    
  • 永久生效方案:编辑s3cmd默认配置文件~/.s3cfg,找到enable_md5配置项,将值修改为True,如果配置文件中没有该字段直接新增即可:
    enable_md5 = True
    
    配置修改完成后,后续所有PUT请求都会自动携带Content-MD5头,无需每次添加命令行参数。
  • 兼容问题排查:如果上述配置不生效,检查s3cmd版本,低于2.2.0的版本对Object Lock特性支持存在缺陷,升级到最新稳定版后再执行上述配置即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 08:24:04