AWS Elastic Beanstalk
开发人员指南
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 Amazon AWS 入门

平台脚本

Elastic Beanstalk 会安装 shell 脚本 get-config,您可以使用它来获取环境变量,以及在使用自定义平台启动的环境中的实例上运行的挂钩中的其他信息。

可在 /opt/elasticbeanstalk/bin/get-config 中获得此工具。您可以通过以下方式使用它:

  • get-config optionsettings – 返回一个列出在环境中设置的配置选项 (按命名空间组织) 的 JSON 对象。

    $ /opt/elasticbeanstalk/bin/get-config optionsettings {"aws:elasticbeanstalk:container:php:phpini":{"memory_limit":"256M","max_execution_time":"60","display_errors":"Off","composer_options":"","allow_url_fopen":"On","zlib_output_compression":"Off","document_root":""},"aws:elasticbeanstalk:hostmanager":{"LogPublicationControl":"false"},"aws:elasticbeanstalk:application:environment":{"TESTPROPERTY":"testvalue"}}

    要返回特定配置选项,请使用 -n 选项来指定命名空间,并使用 -o 选项来指定选项名称。

    $ /opt/elasticbeanstalk/bin/get-config optionsettings -n aws:elasticbeanstalk:container:php:phpini -o memory_limit 256M
  • get-config environment – 返回一个包含环境属性 (包括用户配置的属性和 Elastic Beanstalk 提供的属性) 列表的 JSON 对象。

    $ /opt/elasticbeanstalk/bin/get-config environment {"TESTPROPERTY":"testvalue","RDS_PORT":"3306","RDS_HOSTNAME":"anj9aw1b0tbj6b.cijbpanmxz5u.us-west-2.rds.amazonaws.com.cn","RDS_USERNAME":"testusername","RDS_DB_NAME":"ebdb","RDS_PASSWORD":"testpassword1923851"}

    例如,Elastic Beanstalk 提供用于连接到集成 RDS 数据库实例的环境属性 (RDS_HOSTNAME 等)。这些属性不是用户设置的,因此它们显示在 get-config environment 输出但不显示在 get-config optionsettings 输出中。

    要返回特定环境属性,请使用 -k 选项来指定属性键。

    $ /opt/elasticbeanstalk/bin/get-config environment -k TESTPROPERTY testvalue

您可以使用 SSH 连接到运行基于 Linux 的平台的 Elastic Beanstalk 环境中的实例,从而测试之前的命令。

有关 get-config 的用法示例,请参阅示例 platform definition archive 中的以下文件:

  • builder/platform-uploads/opt/elasticbeanstalk/hooks/configdeploy/enact/02-gen-envvars.sh – 获得环境属性。

  • builder/platform-uploads/opt/SampleNodePlatform/bin/createPM2ProcessFile.js – 分析输出。

Elastic Beanstalk 安装 Shell 脚本 download-source-bundle,您可用于在自定义平台的部署期间下载应用程序源代码。可在 /opt/elasticbeanstalk/bin/download-source-bundle 中获得此工具。请参阅位于 appdeploy/pre 文件夹中的示例脚本 00-unzip.sh,获取有关在部署期间如何使用 download-source-bundle 将应用程序源代码下载到 /opt/elasticbeanstalk/deploy/appsource 文件夹的示例。