Использование профилей версий 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 Профиль
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

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 см. в спецификациях REST API Azure. Например, в 2020-09-01 версии профиля можно изменить api-version значение 2019-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: