相当于Azure Web App列表运行时的Azure REST API

问题描述

我找不到与此Azure cli命令等效的任何REST API:

az webapp list-runtimes

我正在寻找Golang SDK中的支持https://github.com/Azure/azure-sdk-for-go

关于如何使用Go SDK获取Azure支持的运行时列表的任何建议?

解决方法

Go SDK中似乎没有方法可以列出Web应用的运行时,与此天青的cli等效的REST API是-Provider - Get Available Stacks,您可以通过Go调用API直接。

示例:

GET https://management.azure.com/providers/Microsoft.Web/availableStacks?osTypeSelected=Linux&api-version=2019-08-01

GET https://management.azure.com/providers/Microsoft.Web/availableStacks?osTypeSelected=Windows&api-version=2019-08-01

要获取用于调用REST API的令牌,register an AD AppGet values for signing increate a new application secret

然后导航至门户->您的订阅-> Access control (IAM)-> Add->将您的AD App添加为RBAC角色,例如ContributorOwner,详细信息紧随this

在代码中,通过获取令牌之前使用的值使用ClientCredentialsConfig,然后可以使用令牌来调用REST API,有关auth的详细信息,请参考-Use an authentication client。您还可以使用其他身份验证方法,具体取决于您的要求。

更新

看起来azure-go-sdk具有提供者客户端,可用于获取可用堆栈。

https://github.com/Azure/azure-sdk-for-go/blob/master/services/web/mgmt/2020-06-01/web/provider.go#L45