首页 > 解决方案 > 带有 -UserAssignedIdentity 的 Set-AzApiManagement 给出错误请求

问题描述

我正在尝试从 Powershell 将用户分配的标识分配给 Azure 上的 API 管理实例。我从下面的链接中获取了参考 -

https://docs.microsoft.com/en-us/azure/api-management/api-management-howto-use-managed-service-identity#code-try-7

我正在尝试相同的代码 -

# Get an API Management instance
$apimService = Get-AzApiManagement -ResourceGroupName $resourceGroupName -Name $apiManagementName

# Create a user-assigned identity. This requires installation of the "Az.ManagedServiceIdentity" module.
$userAssignedIdentity = New-AzUserAssignedIdentity -Name $userAssignedIdentityName -ResourceGroupName $resourceGroupName

# Update an API Management instance
$userIdentities = @($userAssignedIdentity.Id)
Set-AzApiManagement -InputObject $apimService -UserAssignedIdentity $userIdentities

但它总是给我下面的错误信息 -

Set-AzApiManagement: Operation returned an invalid status code 'BadRequest'

我错过了什么?代码有什么问题?任何即时帮助表示赞赏!在此先感谢..我正在使用Powershell ..

编辑

API 管理实例已经有一个用户分配的身份,我正在尝试添加另一个..

标签: azureidentityazure-api-management

解决方案


关于这个问题,请参考以下代码

Connect-AzAccount

$userAssignedIdentity = New-AzUserAssignedIdentity -Name "myapi" -ResourceGroupName ""
$userIdentities = @($userAssignedIdentity.Id)

$apimService = Get-AzApiManagement -ResourceGroupName "" -Name "huryApim"

[string[]]$test= $apimService.Identity.UserAssignedIdentity.Keys
[string[]]$test += $userAssignedIdentity.Id

Set-AzApiManagement -InputObject $apimService -UserAssignedIdentity $test

在此处输入图像描述


推荐阅读