使用 Yaml AzureCLI@2 任务执行 DevOps 管道时出现以下错误。
task: AzureCLI@2
displayName: 'Assign role "Storage Blob Data Contributor" to the task-poll-queued-compliance-jobs1-<env> logic app'
inputs:
azureSubscription: ${{ parameters.connectionName }}
scriptLocation: 'inlineScript'
scriptType: 'pscore'
inlineScript: '$assigneeId = (az ad sp list --all --filter "servicePrincipalType eq ''ManagedIdentity'' and displayName eq ''<logic app name>''" | ConvertFrom-Json | select -ExpandProperty id);az role assignment create --role "Storage Blob Data Contributor" --assignee-object-id $assigneeId --scope "/subscriptions/<subscriptionId>/resourceGroups/<resource group>/providers/Microsoft.Storage/storageAccounts/<storageaccount>"'
我已尝试以下方法来诊断并解决问题。
EG。 az 角色分配 create --role "Storage Blob Data Contributor" --assignee-object-id "" --scope "/subscriptions//resourceGroups//providers/Microsoft.Storage/storageAccounts/"'
管道运行失败时,我可以从管道日志中复制要执行的内联脚本,并在 Azure Cloud shell 中运行它,不会出现任何问题。
我尝试为管道连接到Azure的应用程序注册提供资源组的所有者角色,但这也没有解决问题。