You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

无需UI更新Azure容器应用ACR密码:解决秘钥名过长问题

解决Azure Container Apps更新长名称ACR密码秘钥的问题

问题1:更新长名称秘钥值的替代方法

由于Azure Container Apps的secret名称长度上限为20字符,自动生成的reg-pswd-abcd1234-ab12超出限制,导致az containerapp secret set命令报错。你可以用以下两种方法绕过这个限制:

  • 使用ARM模板/Bicep部署更新
    编写仅包含目标secret更新逻辑的Bicep或ARM文件,通过部署操作覆盖旧值。比如Bicep示例:

    resource containerApp 'Microsoft.App/containerApps@2023-05-01' existing = {
      name: 'MyApp'
      scope: resourceGroup('MyRG')
    }
    
    resource updatedContainerApp 'Microsoft.App/containerApps@2023-05-01' = {
      name: containerApp.name
      location: containerApp.location
      properties: {
        secrets: [
          {
            name: 'reg-pswd-abcd1234-ab12'
            value: 'MySecretToken'
          }
        ]
      }
      dependsOn: [containerApp]
    }
    

    执行部署命令:

    az deployment group create -g MyRG -f ./update-secret.bicep
    

    ARM模板逻辑类似,只要指定对应secret的名称和新值即可,部署操作不受名称长度限制。

  • 调用Azure REST API更新
    直接发送PATCH请求到容器应用的资源端点,更新目标secret的值:

    az rest --method patch \
      --uri "/subscriptions/<你的订阅ID>/resourceGroups/MyRG/providers/Microsoft.App/containerApps/MyApp?api-version=2023-05-01" \
      --body '{
        "properties": {
          "secrets": [
            {
              "name": "reg-pswd-abcd1234-ab12",
              "value": "MySecretToken"
            }
          ]
        }
      }'
    

    这种方式可直接修改已存在的长名称secret值。

问题2:创建新秘钥并替换旧引用的可行方案

完全可以实现,步骤如下:

  1. 创建符合长度要求的新secret

    az containerapp secret set -n MyApp -g MyRG --secrets acr-pwd=MySecretToken
    

    这里用acr-pwd作为新名称,满足20字符限制。

  2. 更新容器应用的镜像注册表配置,替换为新secret
    执行az containerapp update命令,将注册表凭据的密码引用替换为新secret:

    az containerapp update -n MyApp -g MyRG \
      --image-registry-credentials server=<你的ACR名称>.azurecr.io username=<ACR用户名> password-secret=acr-pwd
    
  3. (可选)清理旧的长名称secret
    确认新配置生效后,可删除旧secret:

    az containerapp secret remove -n MyApp -g MyRG --secret-names reg-pswd-abcd1234-ab12
    

这种方案更规范,后续维护更方便,适合批量处理50+应用时编写脚本循环执行。

内容的提问来源于stack exchange,提问作者shaik moeed

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.13 21:30:02