使用 azure cli 获取 Azure API 管理订阅密钥

cod*_*bot 6 azure azure-api-management azure-cli azure-devops powershell-core

我正在尝试使用 cli 获取我的产品的订阅密钥以及默认订阅密钥。我已浏览文档https://learn.microsoft.com/en-us/cli/azure/apim/api?view=azure-cli-latest,但现在我没有看到任何命令来获取我的信息订阅密钥。

\n

虽然我可以看到有 powershell 方式来获取它,但我们在 ubuntu 管道中运行任务,并且下面列出的命令在 Linux 代理中不起作用。它说 Set-AzContext 不是已知命令

\n
$subscriptionId = "id"\n$RG = "rg"\n$service = "apim-name"\n\nSet-AzContext -Subscription $subscriptionId\xc2\xa0\n\n$apimContext = New-AzApiManagementContext -ResourceGroupName $RG -ServiceName $service\n\nGet-AzApiManagementSubscriptionKey -Context $apimContext -SubscriptionId "master"\n
Run Code Online (Sandbox Code Playgroud)\n

更新\n我能够通过 DevOps 管道中的 Azure powershell 任务获取详细信息。如果 azure cli 中没有选项,我将使用它作为解决方法。

\n

Kai*_*ter 5

使用az rest它是可能的:

APIMID=`az apim show -n apimname -g resourcegroup --query id -o tsv`
az rest --method post  --uri ${APIMID}/subscriptions/test-subscription/listSecrets?api-version=2022-08-01 --query primaryKey -o tsv
Run Code Online (Sandbox Code Playgroud)

其中test-subscription是订阅的名称。


小智 1

目前无法使用 AZ CLI 命令获取订阅密钥。使用 PowerShell 命令是正确的方法。以防万一,获取订阅密钥的另一种方法是使用管理 API 调用