在 Azure API 管理中获取与 API 关联的标签

Getting tags associated with an API in Azure API Management

有没有办法通过 Powershell 获取与 API 关联的标签?

Get-AzApiManagementApi 命令 returns API 的列表,但标签不包含在其响应中。

来自 Powershell 试试这个。您也可以从资源浏览器中获取它。

Get-AzureRmResource -ResourceGroupName Integration-Resources -ResourceType Microsoft.ApiManagement/service/tags -ResourceName "integration-common/test" -Api版本 2018-01-01

通过使用 Rest API ,你可以得到它 Tag - Get By Api https://docs.microsoft.com/en-us/rest/api/apimanagement/2019-01-01/tag/getbyapi

你也可以关注这个GitHub issue以供参考。 https://github.com/MicrosoftDocs/azure-docs/issues/21817

命令Get-AzApiManagementApi不会return每个API的标签,解决方法是使用Get-AzResource.

试试下面的脚本,每个 API 的 returns 标签。

$ResourceGroupName = "<resource-group-name>"
$APImg = "<API-Management-service-name>"
$ApiMgmtContext = New-AzApiManagementContext -ResourceGroupName $ResourceGroupName -ServiceName $APImg
$Apis = Get-AzApiManagementApi -Context $ApiMgmtContext
foreach($Api in $Apis){
    $ApiId = $Api.ApiId
    $ApiName = $Api.Name
    $tags = (Get-AzResource -ResourceGroupName $ResourceGroupName -ResourceType Microsoft.ApiManagement/service/apis/tags -ResourceName "$APImg/$ApiId" -ApiVersion 2018-01-01).Name
    Write-Host "Tags of" $ApiName : $tags
}