问题描述
我找不到与此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 App,Get values for signing in和create a new application secret。
然后导航至门户->您的订阅-> Access control (IAM)
-> Add
->将您的AD App添加为RBAC角色,例如Contributor
,Owner
,详细信息紧随this。
在代码中,通过获取令牌之前使用的值使用ClientCredentialsConfig
,然后可以使用令牌来调用REST API,有关auth的详细信息,请参考-Use an authentication client。您还可以使用其他身份验证方法,具体取决于您的要求。
更新:
看起来azure-go-sdk具有提供者客户端,可用于获取可用堆栈。