我试图在Azure容器应用程序中设置容器的环境变量,但当值上有空间时会出现问题。my .env如下所示
BD_PASSWORD=v=K1i2
WS_PROJECT_AR_DSO=https://example.com
AUTO_BATCH_SUBMIT_CRON_START_TIME=*/2 * * * *
EMAIL_WHITELIST=["a.com","b.net"]
字符串
我尝试了key=value空格分隔,但失败了我尝试了“key 1 =value”“key 2 = value 2”,但又失败了
如何发送空格分隔和/或包含双引号的值,如电子邮件白名单值。
az containerapp update \
--name ca-devpi \
--resource-group rg-dev-pi \
--image ${{ secrets.ACR_SERVER }}/dev-pi:latest \
--container-name dev-pi \
--cpu 1.0 --memory 2Gi \
--min-replicas 0 --max-replicas 2 \
--scale-rule-name my-http-rule \
--scale-rule-type http \
--scale-rule-http-concurrency 15 \
--set-env-vars $SPACE_SEPARATED_VALUES
型
我得到的错误是
ERROR: Environment variables must be in the format "<key>=<value> <key>=secretref:<value> ...".
型
更新
在尝试了@Azeem和@SiddheshDesai的建议后,我可以看到类似的行为。即,如果我打印$SPACE_SEPARATED_VALUES,我可以看到值的格式为"AUTO_BATCH_SUBMIT_CRON_START_TIME=*/2 * * * *" "EMAIL_WHITELIST=[\"a.com\",\"b.net\"]"
但是我传递了与--set-env-vars $SPACE_SEPARATED_VALUES
相同的变量,那么我得到了相同的错误,
ERROR: Environment variables must be in the format "<key>=<value> <key>=secretref:<value> ...
型
如果我像这样用双引号
--set-env-vars "$SPACE_SEPARATED_VALUES"
型
那我就出错了
ERROR: (ContainerAppInvalidEnvVarName) Env variable name '"AUTO_BATCH_SUBMIT_CRON_START_TIME' contains invalid character, regex used for validation is '^[-._a-zA-Z][-._a-zA-Z0-9]*$'
型
我传递这样的直接值
--set-env-vars "AUTO_BATCH_SUBMIT_CRON_START_TIME=*/2 * * * *" "EMAIL_WHITELIST=[\"a.com\",\"b.net\"]"
型
然后它就可以工作了。现在这可能是因为Azure CLI shell,因为这是我使用的方式
- name: Update Container app
uses: azure/CLI@v1
with:
inlineScript: |
az containerapp update \
--name ${{ vars.DBA_APP }} \
--resource-group ${{ vars.CONTAINER_RG }} \
--set-env-vars $SPACE_SEPARATED_VALUES
型
1条答案
按热度按时间xe55xuns1#
我尝试了下面的 *
Azure CLI
* 命令,并将**env vars
**放在双引号中,如下所示:我的Github Action工作流程:-
完成工作流程此处
字符串
输出:-
x1c 0d1x的数据
入口:-
的