Использование профилей версий 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
- Установите Git. См. статью Getting Started - Installing Git (Приступая к работе — установка Git)
- Установите 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: