如何在 AWS ElasticBeanstalk 中查看以 RDS_ 为前缀的环境变量?

如何在 AWS ElasticBeanstalk 中查看以 RDS_ 为前缀的环境变量?

如果您使用 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

它会删除一个临时文件,但它可以起作用。

相关内容