Использование профилей версий API с помощью Go в Azure Stack Hub

Профили версий и Go

Профиль — это сочетание разных типов ресурсов с разными версиями от различных служб. С помощью профиля можно комбинировать и сопоставлять разные типы ресурсов. Профили обеспечивают следующие преимущества:

  • стабильность приложения за счет блокировки определенных версий API;
  • совместимость приложения с Azure Stack Hub и региональными центрами обработки данных Azure.

В пакете SDK для Go профили доступны в пути к профилям. Номера версий профилей имеют следующий формат: ГГГГ-ММ-ДД. Например, профиль API Azure Stack Hub версии 2020-09-01 предназначен для Azure Stack Hub версии 2102 или более поздней. Чтобы импортировать данную службу из профиля, импортируйте из профиля ее соответствующий модуль. Например, чтобы импортировать службу вычислений из профиля 2020-09-01 , используйте следующий код:

import "github.com/Azure/azure-sdk-for-go/profiles/2020-09-01/compute/mgmt/compute"

Установка пакета Azure SDK для Go

  1. Установите Git. См. статью Getting Started - Installing Git (Приступая к работе — установка Git)
  2. Установите Go. Для профилей API для Azure необходима версия Go 1.9 или более новая. См. раздел Язык программирования Go.

Профили

Чтобы использовать другой профиль или версию пакета SDK, замените дату в операторе импорта, github.com/Azure/azure-sdk-for-go/profiles/<date>/storage/mgmt/storageнапример . Например, для версии 2008 профиль имеет значение 2019-03-01, а строка становится github.com/Azure/azure-sdk-for-go/profiles/2019-03-01/storage/mgmt/storage. Обратите внимание, что иногда команда sdk изменяет имя пакетов, поэтому просто заменить дату строки другой датой может не работать. Сведения о связи профилей и версий Azure Stack см. в следующей таблице.

Версия Azure Stack Профиль
2311 2020_09_01
2301 2020_09_01
2206 2020_09_01
2108 2020-09-01
2102 2020-09-01
2008 2019-03-01

См. дополнительные сведения об Azure Stack Hub и профилях API.

См. статью Профили пакета SDK для Go.

Подписка

Если у вас еще нет подписки, создайте подписку и сохраните ее идентификатор для последующего использования. Сведения о создании подписки см. в этом документе.

Субъект-служба

Субъект-служба и связанные с ним сведения о среде должны быть созданы и сохранены. Рекомендуется использовать субъект-службу с owner ролью, но в зависимости от образца может быть достаточно роли contributor . Требуемые значения см. в файле сведений в репозитории примеров . Эти значения можно считывать в любом формате, поддерживаемом языком пакета SDK, например из JSON-файла (который используется в наших примерах). В зависимости от выполняемого примера можно использовать не все из этих значений. Обновленный пример кода или дополнительные сведения см. в репозитории примеров.

Tenant ID

Чтобы найти каталог или идентификатор клиента для Azure Stack Hub, следуйте инструкциям в этой статье.

Регистрация поставщиков ресурсов

Зарегистрируйте необходимые поставщики ресурсов, следуя этому документу. Эти поставщики ресурсов потребуются в зависимости от примеров, которые вы хотите запустить. Например, если вы хотите запустить пример виртуальной машины, Microsoft.Compute требуется регистрация поставщика ресурсов.

Конечная точка Azure Stack Resource Manager

Azure Resource Manager (ARM) — это платформа управления, которая позволяет администраторам развертывать, администрировать и отслеживать ресурсы Azure. Azure Resource Manager может обрабатывать эти задачи в рамках одной операции как группы, а не по отдельности. Получить метаданные можно из конечной точки Resource Manager. Конечная точка возвращает JSON-файл со сведениями, необходимыми для запуска вашего кода.

  • ResourceManagerEndpointUrl в пакете средств разработки Azure Stack (ASDK) имеет следующий формат: https://management.local.azurestack.external/.
  • ResourceManagerEndpointUrl в интегрированных системах имеет следующий формат: https://management.region.<fqdn>/, где <fqdn> — это полное доменное имя.
  • Чтобы получить необходимые метаданные, используйте <ResourceManagerUrl>/metadata/endpoints?api-version=1.0. Доступные версии API см. в разделе Спецификации Azure rest API. Например, в 2020-09-01 версии профиля можно изменить api-version2019-10-01 значение на для поставщика microsoft.resourcesресурсов .

Пример JSON:

{
   "galleryEndpoint": "https://portal.local.azurestack.external:30015/",
   "graphEndpoint": "https://graph.windows.net/",
   "portal Endpoint": "https://portal.local.azurestack.external/",
   "authentication": 
      {
         "loginEndpoint": "https://login.windows.net/",
         "audiences": ["https://management.yourtenant.onmicrosoft.com/3cc5febd-e4b7-4a85-a2ed-1d730e2f5928"]
      }
}

Примеры

Пример кода обновления до актуального кода см. в репозитории . Корневой каталог README.md описывает общие требования, и каждый вложенный каталог содержит конкретный пример с собственными README.md сведениями о том, как запустить этот пример.

См. пример , применимый к версии 2008 или профилю 2019-03-01 Azure Stack, и ниже.

Дальнейшие действия

Дополнительные сведения о профилях API: