Назад | Перейти на главную страницу

Как получить значение ключа из переменных среды эластичного бобового стебля

Мне нужно использовать значения переменных среды Amazon elastic beanstalk для локальной разработки, но я не хочу, чтобы они жестко закодировались, когда я выполняю отправку кода.

Я хотел бы запустить сценарий bash для установки переменных, и вот как я это делаю с Heroku:

echo "... SETTING DATABASE_URL" 
export DATABASE_URL=$(heroku config:get DATABASE_URL)

С эластичным бобовым стеблем я могу получить список переменных окружения с помощью:

eb printenv <name of environment>

Я пробовал использовать grepping только для значения, например.

eb printenv my-environment | grep DB_NAME

... но это возвращает всю строку, и мне просто нужно значение. Итак, попробовал grepping с регулярным выражением, и он ничего не вернет, например.

eb printenv my-environment | grep '/(?s)(?<=DB_NAME).+/'

Это простой запрос с регулярным выражением, и он отлично работает на regex101.com, поэтому не уверен, в чем может быть проблема.

Есть идеи о том, как получить конкретные пары значений ключа?

Вы можете попробовать что-то вроде этого

# eb printenv | grep RAILS_ENV
     RAILS_ENV = production

# eb printenv | grep RAILS_ENV | awk '{print $3}'
production

Так что в вашем случае это было бы

DATABASE_URL=$(eb printenv | grep DATABASE_URL | awk '{print $3}')