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