Если вы настроили RDS с помощью ElasticBeanstalk, как вы можете войти в поле (через eb ssh
) и просмотреть переменные среды, которые устанавливаются при применении RDS к своему экземпляру EB?
Amazon автоматически устанавливает эти переменные среды.
RDS_DB_NAME
RDS_USERNAME
RDS_PASSWORD
RDS_HOSTNAME
RDS_PORT
Кажется, что вы можете просматривать только в процессе, который запускает ваше приложение.
Я бы хотел как-нибудь просмотреть их через терминал, eb printenv
команда не показывает их.
Вот как это сделать.
Первый 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
скрипты получают доступ к переменным env.
Просто.
Вам следует перейти к конфигурациям среды текущего приложения, выполняемого через ваш эластичный beanstalk.
Сначала ssh в экземпляр эластичного beanstalk, как в приведенном выше ответе.
ssh eb
Если вы хотите показать переменные среды, связанные с RDS (например, RDS_DB_NAME
), затем
cat /opt/python/current/env
Вы также увидите некоторые переменные aws:elasticbeanstalk:application:environment
в option_settings
вместе, набранные ранее.
Кроме того, если вы хотите применить эти переменные среды,
source /opt/python/current/env
И вы можете увидеть эти переменные, написав env
Вот моя версия, которая добавляет вары в текущий сеанс
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
Он сбрасывает временный файл, но работает.