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

使用aws-sdk/lib-storage上传CSV至S3,如何正确指定含路径的地址?

解决AWS SDK lib-storage上传时S3 URL的参数拆分问题

你遇到的InvalidBucketName错误根源在于:Bucket参数仅接受纯桶名,不能包含路径分隔符/或完整的S3访问URL。

S3完整URL的结构是固定的:https://s3.<区域>.amazonaws.com/<桶名>/<对象前缀路径>/<文件名>,其中各部分对应SDK参数的规则是:

  • <桶名>:单独填写到Bucket参数中,不能带任何路径或域名
  • <对象前缀路径>/<文件名>:合并后作为Key参数的值,这部分才是S3对象的完整存储路径

针对你的示例,正确的参数配置如下:

const parallelUploads3 = new Upload({
  client: new S3Client({
    region: 'us-east-1',
    credentials
  }),
  params: {
    Bucket: 'aaa', // 仅填写纯桶名
    Key: `bbb/ccc/ddd/eee/${file.name}`, // 原URL中桶名后的路径前缀 + 文件名,组成完整对象键
    Body: file
  },
  leavePartsOnError: false
})

如果你的S3 URL是虚拟主机格式(例如https://aaa.s3.us-east-1.amazonaws.com/bbb/ccc/ddd/eee),拆分规则完全一致:桶名为aaa,路径前缀bbb/ccc/ddd/eee与文件名拼接后作为Key值。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.31 04:30:58