gpt4 book ai didi

amazon-web-services - 下载S3并添加到应用程序目录

转载 作者:行者123 更新时间:2023-12-02 11:23:11 25 4
gpt4 key购买 nike

我有一个正在尝试设置的弹性 beanstalk Node 应用程序。我正在尝试将环境文件从 S3 加载到 /var/app/ondeck/src/ 中,以便在 Node 应用程序启动时该文件可用。我已经尝试了尽可能多的方法,但 production.env 文件从未出现。如果我将位置更改为 /home/ec2-user 之类的位置,则会出现文件,这样我就知道文件部分是正确的。我错过了什么?

files:
"/var/app/ondeck/src/production.env":
mode: "000777"
user: nodejs
group: nodejs
source: https://s3.amazonaws.com/bucket-name/file.env

Resources:
AWSEBAutoScalingGroup:
Metadata:
AWS::CloudFormation::Authentication:
S3Access:
type: S3
roleName: aws-elasticbeanstalk-ec2-role
buckets: bucket-name

========

最后的办法是运行一个container_command,将文件从/home/ec2-user复制到/var/app/current/src//var/app/ondeck/src/ 但这似乎也不起作用。如果可能的话,我更喜欢让最上面的例子工作。

container_commands:
command: "/bin/cp /home/ec2-user/production.env /var/app/ondeck/production.env"

最佳答案

经过一些修改,您的后一个选项似乎对我有用。请注意以下事项:

  • 我使用 mv 而不是 cp
  • 在我的例子中,我有一个 webapp 的所有者和组,而不是 nodejs,但这可能只是因为我使用 Beanstalk for PHP 而不是 Node
  • 我有一个容器命令的名称
  • 我使用容器命令的目标文件的相对路径
  • 我尚未测试身份验证,因为我的特定用例涉及公开文件

它会是这样的:

files:
"/home/ec2-user/production.env":
mode: "000644"
owner: nodejs
group: nodejs
source: https://s3.amazonaws.com/bucket-name/file.env

container_commands:
01_mv_to_app_dir:
command: "mv /home/ec2-user/production.env ./production.env"

关于amazon-web-services - 下载S3并添加到应用程序目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28918629/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com