我最近一直在开发一个django应用程序,试图让它与AmazonElasticBeanstalk一起工作。
在我的.ebextensions/python.config文件中,我设置了以下内容:

option_settings:
  - namespace: aws:elasticbeanstalk:application:environment
    option_name:  ProductionBucket
    value: s3-bucket-name
  - namespace: aws:elasticbeanstalk:application:environment
    option_name:  ProductionCache
    value:  memcached-server.site.com:11211

但是,每当我在服务器上查看时,都没有设置这样的环境变量(因此,当我尝试os.getenv('ProductionBucket')
我遇到这个this page似乎试图记录所有名称空间。我还尝试使用PARAM1作为选项名,但结果类似。
如何在Amazon弹性豆茎中设置环境变量?
编辑:
我还尝试在导出环境变量的所有其他命令之前添加一个命令:
commands:
 01_env_vars:
  command: "source scripts/env_vars"

…这也不成功

最佳答案

我使用了一个现代(即非传统)容器进行了检查,发现它位于/opt/elasticbeanstalk/deploy/configuration/containerconfiguration下,作为JSON文件。
这种行为似乎与平台相关:我特别记得在PHP中,它还创建了一些带有值的shell脚本。
不管怎样,请查看/opt/elasticbeanstalk/hooks/configdeploy。
Java案例,它运行这个Python脚本,这对你来说很方便:
https://gist.github.com/19c1e4b718f9a70a4ce1

08-28 14:21