Динамически передавать переменные среды в Azure экземпляр контейнера - PullRequest
0 голосов
/ 14 июля 2020

У меня есть простой bash скрипт, который создает контейнер и запускает в нем задачу:

api=${1}

az container create \
--resource-group "my_resource_group" \
--file container.yaml \
--environment-variables "APIKEY"="${api}"

Но переменная APIKEY никогда не получает значение из этого вызова, а всегда из "по умолчанию" значение в container.yaml.

Как мне создать экземпляр контейнера со всем определением в .yaml и передать переменные среды в команде az container create?

1 Ответ

1 голос
/ 14 июля 2020

Когда ввод задан как файл, переменные среды не учитываются.

При просмотре источников cli, когда используется File, он просто вернет создание контейнера на основе файла. https://github.com/Azure/azure-cli/blob/713061e3e4a0fc969b0797ec06bd0e3db49ad4a8/src/azure-cli/azure/cli/command_modules/container/custom.py#L112

Что вы могли бы сделать, так это использовать sed в bash script, чтобы изменить значение APIKey в вашем файле container.yaml, а затем развернуть его, как вы are.

sed -i 's/PLACEHOLDER_FOR_APIKEY_HERE/$api/g' container.yaml

PLACEHOLDER_FOR_APIKEY_HERE будет заменено аргументом командной строки, а файл container.yaml будет обновлен.

Таким образом, сценарий будет выглядеть так, как показано ниже.

api=${1}
sed -i 's/PLACEHOLDER_FOR_APIKEY_HERE/$api/g' container.yaml
az container create \
--resource-group "my_resource_group" \
--file container.yaml
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...