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

Tho*_*ggi 6 environment-variables amazon-ebs amazon-rds

如果您使用 ElasticBeanstalk 设置 RDS,您如何进入框(通过 eb ssh)并查看将 RDS 应用于您的 EB 实例时设置的环境变量?

Amazon 会自动设置这些环境变量。

  • RDS_DB_NAME
  • RDS_USERNAME
  • RDS_PASSWORD
  • RDS_HOSTNAME
  • RDS_PORT

似乎只能在运行应用程序的进程中查看。

我想以某种方式通过终端查看这些,eb printenv命令不显示它们。

Tho*_*ggi 7

这是如何做到的。

ssh进入eb实例。

eb ssh
Run Code Online (Sandbox Code Playgroud)

然后取消以下命令

sudo /opt/elasticbeanstalk/bin/get-config environment --output YAML
Run Code Online (Sandbox Code Playgroud)

或者--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)
})
Run Code Online (Sandbox Code Playgroud)

并用于source.ebextension脚本访问 env 变量。