我最近一直在开发一个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