我找不到任何与此azure cli命令等价的REST API:
az webapp list-runtimes
我在Golang SDK中寻找它的支持:https://github.com/Azure/azure-sdk-for-go
关于如何使用Go SDK获取Azure支持的运行时列表,有什么建议吗?
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的令牌,请注册AD应用程序,获取用于登录的值并创建新的应用程序机密。
然后导航到门户网站->您的订阅->Access control (IAM)
->Add
->将您的AD应用程序添加为RBAC角色,例如Contributor
、Owner
,详细信息如下。
在代码中,通过之前获取的值使用ClientCredentialsConfig
来获取令牌,然后可以使用令牌调用REST API,有关auth的详细信息,请参阅-使用身份验证客户端。您也可以使用其他身份验证方法,这取决于您的需求。
更新:
看起来azure go sdk有提供者客户端,可以用来获取可用的堆栈。
https://github.com/Azure/azure-sdk-for-go/blob/master/services/web/mgmt/2020-06-01/web/provider.go#L45