如果您使用ElasticBeanstalk设置RDS,如何进入框(通过eb ssh )并查看将RDS应用到您的EB实例时设置的环境variables?
亚马逊自动设置这些环境variables。
RDS_DB_NAME RDS_USERNAME RDS_PASSWORD RDS_HOSTNAME RDS_PORT 看来你只能在运行你的应用程序的过程中查看。
我想通过terminal以某种方式查看这些, eb printenv命令不显示它们。
以下是如何做到这一点。
首先ssh进入eb实例。
eb ssh
然后取消下面的命令
sudo /opt/elasticbeanstalk/bin/get-config environment --output YAML
另外 – --output YAML可以 – --output json 。
或者,如果你想要的话,你可以把variables传递到一个节点命令中
#!/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脚本可以访问envvariables。
这是我的版本,增加了当前会话的变数
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
它删除一个临时文件,但它的工作原理。
只是简单。
你应该去当前正在运行的应用程序的环境configuration通过弹性beanstalk。
首先像上面的答案一样进入弹性beanstalk实例。
ssh eb
如果你想显示与RDS相关的环境variables(如RDS_DB_NAME ),那么
cat /opt/python/current/env
您还将在option_settings看到aws:elasticbeanstalk:application:environment中的一些variables,之前input。
另外,如果你想应用这个环境variables,
source /opt/python/current/env
你可以通过脚本env看到这些variables