我正在尝试使用 DevOps CICD Pipelines 导入应用程序配置键值。应用程序配置有
Private Endpoint
启用,禁用公共访问。 private DNS zone
包含应用程序配置的 A recordset
。(将 azure 应用程序配置的私有 IP 地址添加到私有 dns 区域。)Access keys
已关闭并使用托管身份VNET
和 subnet
的虚拟机设置了自托管代理。Owner
和 Azure App Configuration Data Owner
managed identity
。az appconfig kv import --profile appconfig/kvset --name <your store name> --source file --path appconfigdata.json --format json
问题: 起初应用程序配置是公共访问,并使用 Microsoft Agent 管道进行导入,并且成功。后来决定使用专用端点来保护访问,因此我遵循上述所有步骤并确保一切都正确对齐。每当我运行管道时,我都会遇到以下问题。我对这个问题进行了很多探索,但无法找到根本原因。
我错过了什么?
错误:找不到应用程序配置的读写访问密钥
YAML:
steps:
- task: AzureCLI@2
displayName: 'Azure CLI - Update AppConfig'
inputs:
azureSubscription: 'Test-SPN-NonProd'
scriptType: pscore
scriptLocation: inlineScript
inlineScript: |
az appconfig kv import -n $(tst-appconfigName) -s file --format json --path ./dev-appconfig.json --profile appconfig/kvset --y
workingDirectory: '$(System.DefaultWorkingDirectory)/AzureFunctionShared/drop/AppConfig'
condition: succeededOrFailed()
根据错误消息,它仍然尝试检索帐户访问密钥以进行授权。请注意,即使您已关闭
--auth-mode
,key
参数的默认值为 Access keys
。有关详细信息,请参阅 az appconfig kv import - 可选参数。
所以,请尝试在命令中添加
--auth-mode login
参数看看是否有效。