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

使用serverless-s3-sync上传本地文件夹到S3部署报错,求解决方案

问题解决:serverless-s3-sync部署错误及替代方案

错误原因

serverless-s3-sync插件要求custom.s3Sync必须是数组格式,你当前配置的是单个对象,不符合插件的配置规则,所以触发了这个错误。

修正后的配置

把单个配置对象放进数组里,修改后的serverless.yaml配置如下:

custom:
  s3Sync:
    - bucketName: "${self:custom.deploymentBucket}"
      bucketPrefix: "datasets/folder1/"
      localDir: ./GlueEtl

其他可行方法

如果不想依赖这个插件,还有两种常用方式可以实现本地文件夹上传S3的需求:

  • Serverless内置S3部署配置:在resources中定义S3对象,配合package指定要上传的文件,适合文件数量不多的场景:
package:
  include:
    - ./GlueEtl/**

resources:
  Resources:
    MyDatasetBucket:
      Type: AWS::S3::Bucket
      Properties:
        BucketName: ${self:custom.deploymentBucket}
    GlueEtlFiles:
      Type: AWS::S3::Object
      Properties:
        Bucket: !Ref MyDatasetBucket
        Key: datasets/folder1/${fileBasename}
        Source: ./GlueEtl/${fileBasename}
  • AWS CLI命令配合预部署脚本:在Serverless配置中添加预部署脚本,部署前自动执行S3同步命令:
scripts:
  deploy:pre: "aws s3 sync ./GlueEtl s3://${self:custom.deploymentBucket}/datasets/folder1/"

执行serverless deploy时会自动先运行这个脚本完成文件上传。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.01 02:31:15