Эквивалент Azure REST API для списка веб-приложений az-время выполнения

#azure #go #azure-functions #azure-functions-runtime

#azure #Вперед #azure-функции #azure-функции-среда выполнения

Вопрос:

Я не могу найти какой-либо эквивалент REST API для этой команды azure cli:

 az webapp list-runtimes
  

Я ищу его поддержку в Golang SDK здесь: https://github.com/Azure/azure-sdk-for-go

Есть предложения о том, как получить список сред выполнения, поддерживаемых Azure, с помощью Go SDK?

Ответ №1:

Похоже, что в Go SDK нет метода для составления списка сред выполнения для веб-приложения, эквивалентом REST API для этого azure cli является this — Provider - Get Available Stacks , вы можете вызвать API напрямую через Go.

Пример:

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

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

Чтобы получить токен, используемый для вызова REST API, зарегистрируйте приложение AD, получите значения для входа в систему и создайте новый секрет приложения.

Затем перейдите на портал -> ваша подписка -> Access control (IAM) -> Add -> добавьте свое приложение AD в качестве роли RBAC, например, Contributor , Owner подробности следуют за этим.

В коде используйте ClientCredentialsConfig значения, полученные ранее, чтобы получить токен, затем вы можете использовать токен для вызова REST API, подробности об аутентификации см. в разделе — Использовать клиент аутентификации. Вы также можете использовать другие методы аутентификации, это зависит от ваших требований.

Обновить:

Похоже, в azure-go-sdk есть клиент providers, который можно использовать для получения доступных стеков.

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

Комментарии:

1. Я вижу, что у azure-go-sdk есть клиент providers, который также можно использовать для получения доступных стеков. Вот ссылка: github.com/Azure/azure-sdk-for-go/blob/master/services/web/mgmt /…

2. @Puru Извините за мою оплошность, обновил ее в ответе.

3. @joyWang Не могли бы вы предложить использовать Azure?. Net SDK или перейти непосредственно к вызовам rest API. Мне нужно выполнить автоматическое развертывание кода в app service. Я в замешательстве, должен ли я придерживаться API управления Rest, Azure.net SDK или Fluent.