Использование профилей версий API с пакетом средств разработки (SDK) для Node.js в Azure Stack Hub
Node.js и профили версий API
Пакет SDK для Node.js можно использовать для создания инфраструктуры приложений и управления ею. Профили API в пакете SDK для Node.js помогают создавать гибридные облачные решения, позволяя переключаться между глобальными ресурсами Azure и ресурсами Azure Stack Hub. Вы можете создать один код, а затем нацелить его как на глобальное облако Azure, так и на Azure Stack Hub.
В этой статье вы можете использовать Visual Studio Code в качестве средства разработки. Visual Studio Code позволяет выполнить отладку пакета SDK для Node.js и запустить приложение, а также отправить приложение в экземпляр Azure Stack Hub. Можно выполнить отладку из Visual Studio Code или через окно терминала, выполнив команду node <nodefile.js>
.
Пакет SDK для Node.js
Пакет SDK для Node.js предоставляет средства Resource Manager для Azure Stack Hub. В этом пакете SDK представлены поставщики ресурсов вычислений, сети, хранилища, служб приложений и KeyVault. Существуют 10 клиентских библиотек поставщиков ресурсов, которые можно установить в приложении Node.js. Вы также можете скачать, укажите, какой поставщик ресурсов будет использоваться для профиля 2020-09-01-, чтобы оптимизировать память для приложения. Каждый модуль содержит поставщик ресурсов, соответствующую версию API и профиль API.
Профиль API определяет поставщик ресурсов и версии API. С помощью профиля API можно получить последнюю и наиболее стабильную версию ресурса любого типа из представленных в пакете поставщика ресурсов.
Чтобы получить последние версии всех служб, используйте профиль latest в пакете.
Чтобы использовать службы, совместимые с Azure Stack Hub, используйте @azure/arm-resources-profile-hybrid-2020-09-01 или @azure/arm-storage-profile-2020-09-01-hybrid.
Пакеты NPM
Каждый поставщик ресурсов имеет собственный пакет. Этот пакет можно получить из реестра npm.
Доступны следующие пакеты.
Поставщик ресурсов | Пакет |
---|---|
Служба приложений | @azure/arm-resources-profile-2020-09-01-hybrid |
Подписки Azure Resource Manager | @azure/arm-subscriptions-profile-hybrid-2020-09-01 |
Политика Azure Resource Manager | @azure/arm-policy-profile-hybrid-2020-09-01 |
Служба DNS Azure Resource Manager | @azure/arm-dns-profile-2020-09-01-hybrid |
Авторизация | @azure/arm-authorization-profile-2020-09-01-hybrid |
Среда выполнения приложений | @azure/arm-compute-profile-2020-09-01-hybrid |
Память | @azure/arm-storage-profile-2020-09-01-hybrid |
Network | @azure/arm-network-profile-2020-09-01-hybrid |
Ресурсы | @azure/arm-resources-profile-hybrid-2020-09-01 |
Key Vault | @azure/arm-keyvault-profile-2020-09-01-hybrid |
Чтобы применить последнюю версию API службы, используйте последний профиль определенной клиентской библиотеки. Например, если вы хотите использовать последнюю версию API службы ресурсов, используйте azure-arm-resource
профиль клиентской библиотеки управления ресурсами.
Используйте конкретные версии API, определенные в этом пакете, для соответствующих версий API поставщика ресурсов.
@azure/arm-resourceprovider-profile-2020-09-01-hybrid
последний профиль, созданный для Azure Stack Hub. Используйте этот профиль для служб, которым нужна максимальная совместимость с Azure Stack Hub версии 1808 или более поздней.
@azure arm-resource
Профиль включает последние версии всех служб. Используйте последние версии всех служб в Azure.
Профили
Для профилей, содержащих даты, чтобы использовать другой профиль или версию пакета SDK, можно заменить дату в @azure/arm-keyvault-profile-<date>-hybrid
. Например, для версии 2008 профиль имеет значение 2019-03-01
, а строка становится @azure/arm-keyvault-profile-2019-03-01-hybrid
. Обратите внимание, что иногда команда 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 для Node.js.
Установите Git. Инструкции см. в разделе по установке Git.
Установите компонент Node.js или обновите его до текущей версии. Node.js также включает в себя диспетчер пакетов JavaScript npm.
Установите или обновите Visual Studio Code и установите расширение Node.js для Visual Studio Code.
Установите клиентские пакеты для Resource Manger Azure Stack Hub. Дополнительные сведения см. в разделе об установке клиентских библиотек.
Набор устанавливаемых пакетов зависит от версии профиля, который вам нужен. Список поставщиков ресурсов можно найти в разделе Пакеты в npm.
Подписка
Если у вас еще нет подписки, создайте подписку и сохраните ее идентификатор для последующего использования. Сведения о создании подписки см. в этом документе.
Субъект-служба
Субъект-служба и связанные с ним сведения о среде должны быть созданы и сохранены. Рекомендуется субъект-служба с owner
ролью, но в зависимости от примера может быть достаточно роли contributor
. Требуемые значения см. в файле README в репозитории примеров . Эти значения можно считывать в любом формате, поддерживаемом языком пакета 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
.
Пример 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: