尝试使用 Invoke-AzResourceAction 启动 Azure 容器实例时出错:找不到与请求 URI 匹配的 HTTP 资源

Error when trying to start Azure Container Instance using Invoke-AzResourceAction: No HTTP resource was found that matches the request URI

我正在尝试在 YAML 管道中使用 PowerShell 任务启动 Azure 容器实例:

    - task: AzurePowerShell@5
    displayName: Start container instances
    inputs:
        azureSubscription: ${{ parameters.Subscription }}
        ScriptType: "InlineScript"
        azurePowerShellVersion: OtherVersion
        preferredAzurePowerShellVersion: "4.4.0"
        Inline: |

        $cg = Get-AzContainerGroup -ResourceGroupName "MyResourceGroup" -Name "updateproxy"
        Invoke-AzResourceAction -ResourceId $cg.Id -Action start -Force

但这失败并出现以下错误(注意:我用 [guid] 替换了订阅 ID):

No HTTP resource was found that matches the request URI 'https://provider-westeurope.console.azure.com/providers/api/subscriptions/[guid]/resourceGroups/MyResourceGroup/providers/Microsoft.ContainerInstance/containerGroups/updateproxy/start?api-version=2021-03-01'.

当我重试管道时,它成功了,没有任何错误。

再次停止容器实例和运行管道后,再次失败并出现同样的错误。

我能做些什么来防止这个错误发生?

我遇到了和你一样的问题。我通过在 Invoke-AzureRmResourceAction.

的调用中将 ApiVersion 指定为 "2019-12-01" 来解决问题
Invoke-AzureRmResourceAction -ResourceId $cg.Id -Action start -Force -ApiVersion "2019-12-01"

API实际指定的是:

POST https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerInstance/containerGroups/{containerGroupName}/start?api-version=2019-12-01

来源: https://docs.microsoft.com/en-us/rest/api/container-instances/containergroups/start