Azure容器应用程序集环境变量

0s7z1bwu  于 2023-11-21  发布在  其他
关注(0)|答案(1)|浏览(151)

我试图在Azure容器应用程序中设置容器的环境变量,但当值上有空间时会出现问题。my .env如下所示

  1. BD_PASSWORD=v=K1i2
  2. WS_PROJECT_AR_DSO=https://example.com
  3. AUTO_BATCH_SUBMIT_CRON_START_TIME=*/2 * * * *
  4. EMAIL_WHITELIST=["a.com","b.net"]

字符串
我尝试了key=value空格分隔,但失败了我尝试了“key 1 =value”“key 2 = value 2”,但又失败了
如何发送空格分隔和/或包含双引号的值,如电子邮件白名单值。

  1. az containerapp update \
  2. --name ca-devpi \
  3. --resource-group rg-dev-pi \
  4. --image ${{ secrets.ACR_SERVER }}/dev-pi:latest \
  5. --container-name dev-pi \
  6. --cpu 1.0 --memory 2Gi \
  7. --min-replicas 0 --max-replicas 2 \
  8. --scale-rule-name my-http-rule \
  9. --scale-rule-type http \
  10. --scale-rule-http-concurrency 15 \
  11. --set-env-vars $SPACE_SEPARATED_VALUES


我得到的错误是

  1. 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相同的变量,那么我得到了相同的错误,

  1. ERROR: Environment variables must be in the format "<key>=<value> <key>=secretref:<value> ...


如果我像这样用双引号

  1. --set-env-vars "$SPACE_SEPARATED_VALUES"


那我就出错了

  1. 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]*$'


我传递这样的直接值

  1. --set-env-vars "AUTO_BATCH_SUBMIT_CRON_START_TIME=*/2 * * * *" "EMAIL_WHITELIST=[\"a.com\",\"b.net\"]"


然后它就可以工作了。现在这可能是因为Azure CLI shell,因为这是我使用的方式

  1. - name: Update Container app
  2. uses: azure/CLI@v1
  3. with:
  4. inlineScript: |
  5. az containerapp update \
  6. --name ${{ vars.DBA_APP }} \
  7. --resource-group ${{ vars.CONTAINER_RG }} \
  8. --set-env-vars $SPACE_SEPARATED_VALUES

xe55xuns

xe55xuns1#

我尝试了下面的 * Azure CLI * 命令,并将**env vars**放在双引号中,如下所示:

我的Github Action工作流程:-

完成工作流程此处

  1. on: [push]
  2. name: AzureLoginSample
  3. jobs:
  4. build-and-deploy:
  5. runs-on: ubuntu-latest
  6. steps:
  7. - name: Login to Azure
  8. uses: azure/login@v1
  9. with:
  10. creds: ${{ secrets.AZURE_CREDENTIALS }}
  11. - name: Upload to blob storage
  12. uses: azure/CLI@v1
  13. with:
  14. inlineScript: |
  15. az containerapp update \
  16. --name valleycontainerapp95 \
  17. --resource-group siliconrg98 \
  18. --image mcr.microsoft.com/k8se/quickstart:latest \
  19. --container-name simple-hello-world-container \
  20. --cpu 1.0 --memory 2Gi \
  21. --min-replicas 0 --max-replicas 2 \
  22. --scale-rule-name my-http-rule \
  23. --scale-rule-type http \
  24. --scale-rule-http-concurrency 15 \
  25. --set-env-vars "BD_PASSWORD=v=K1i2 WS_PROJECT_AR_DSO=example.com" "AUTO_BATCH_SUBMIT_CRON_START_TIME=*/2 * * * *" "EMAIL_WHITELIST=[\"a.com\",\"b.net\"]"

字符串

输出:-

x1c 0d1x的数据

入口:-


展开查看全部

相关问题