[当我部署新版本时,我试图将文件从S3存储桶复制到Beanstalk上的NodeJS应用程序。
到目前为止我所做的:
Resources: AWSEBAutoScalingGroup: Metadata: AWS::CloudFormation::Authentication: S3Auth: type: "s3" buckets: ["bucket-name"] roleName: aws-elasticbeanstalk-ec2-role files: "/tmp/deployment/application/file_needed.json" : mode: "000644" owner: root group: root authentication: "S3Auth" source: https://[bucket-name].s3.[region].amazonaws.com/origin_file.json
应用程序部署没有错误,但是文件file_needed.json没有被复制?
更新:尝试使用其他文件夹目标(/ tmp)后,我发现文件已复制。我所知道的是,Beanstalk首先将文件提取到/ tmp / deployment / application /,然后将其移动到/ var / app / current。如何获取文件以复制到应用程序的根目录?
原因可能是区分大小写的问题。在AWS :: CloudFormation :: Authentication中,类型设置为“ s3”,而不是“ S3”。
也尝试从存储桶URL中删除“区域”:
source: https://bucket-name.s3.amazonaws.com/origin_file.json