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

使用boto3将Pandas DataFrame上传至S3为Parquet时参数验证失败的解决方法

解决boto3上传Parquet到S3的参数验证失败问题

问题根源

错误提示已经明确指出核心问题:

Parameter validation failed:
Missing required parameter in input: "Key"
Unknown parameter in input: "key"

boto3的put_object方法要求必填参数为大写的Key,你代码中误写为小写的key,导致API无法识别必填参数,同时将小写key判定为非法参数。

修正后的代码

key = 'xetra_daily_report_' + datetime.today().strftime("%Y%m%d_%H%M%S") + '.parquet'

out_buffer = BytesIO()
df_all.to_parquet(out_buffer, index = False)
bucket_target = s3.Bucket('name-bucket')
# 将小写的key改为大写的Key
bucket_target.put_object(Body = out_buffer.getvalue(), Key = key)

额外提示

  1. 虽然当前使用out_buffer.getvalue()可以正常读取内容,但如果后续对out_buffer有其他操作,建议在调用getvalue()前添加out_buffer.seek(0),将文件指针重置到起始位置。
  2. 你的存储桶策略中,"arn:aws:s3:::name-bucket/+"属于冗余配置,"arn:aws:s3:::name-bucket/*"已经覆盖了桶内所有对象,可删除该条目简化策略。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 21:40:27