如果您使用 ElasticBeanstalk 设置 RDS,如何进入框(通过 eb ssh
)并查看将 RDS 应用于 EB 实例时设置的环境变量?
Amazon 自动设置这些环境变量。
RDS_DB_NAME
RDS_USERNAME
RDS_PASSWORD
RDS_HOSTNAME
RDS_PORT
看来您只能在运行您的应用程序的进程中查看。
我想以某种方式通过终端查看这些,但命令eb printenv
没有显示它们。
答案1
以下是操作方法。
首先ssh
进入eb实例。
eb ssh
然后取消以下命令
sudo /opt/elasticbeanstalk/bin/get-config environment --output YAML
或者也--output YAML
可以--output json
。
或者如果您愿意,您可以将变量放入节点命令中,如下所示:
#!/usr/bin/env node
var strings = []
process.stdin.resume()
process.stdin.setEncoding('utf8')
process.stdin.on('data', function(data) {
var json = JSON.parse(data)
for (var key in json) {
var val = json[key]
strings.push(key + '="' + val + '"')
}
})
process.stdin.on('end', function() {
var output = strings.join('\n')
process.stdout.write(output)
})
并使用source
脚本.ebextension
访问环境变量。
答案2
就是很简单。
您应该转到正在弹性 beantalk 上运行的当前应用程序的环境配置。
首先像上面的答案一样通过 ssh 进入 elastic beanstalk 实例。
ssh eb
如果你想显示与 RDS 相关的环境变量(如RDS_DB_NAME
),那么
cat /opt/python/current/env
您还将看到一些之前输入aws:elasticbeanstalk:application:environment
的变量。option_settings
此外,如果您想应用该环境变量,
source /opt/python/current/env
您可以通过脚本查看这些变量env
答案3
这是我的版本,将变量添加到当前会话
sudo /opt/elasticbeanstalk/bin/get-config environment --output yaml | sed -n '1!p' | sed -e 's/^\(.*\): /\1=/g' | sed -e 's/^/export /' > env.sh; source env.sh
它会删除一个临时文件,但它可以起作用。