Использование профилей версий 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
Keyvault @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 Профиль
2108 2020-09-01
2102 2020-09-01
2008 2019-03-01

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

Установите пакет SDK для Node.js.

  1. Установите Git. Инструкции см. в разделе по установке Git.

  2. Установите компонент Node.js или обновите его до текущей версии. Node.js также включает в себя диспетчер пакетов JavaScript npm.

  3. Установите или обновите Visual Studio Code и установите расширение Node.js для Visual Studio Code.

  4. Установите клиентские пакеты для Resource Manger Azure Stack Hub. Дополнительные сведения см. в разделе об установке клиентских библиотек.

  5. Набор устанавливаемых пакетов зависит от версии профиля, который вам нужен. Список поставщиков ресурсов можно найти в разделе Пакеты в npm.

Подписка

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

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

Субъект-служба и связанная с ней информация о среде должны быть созданы и сохранены где-то. Субъект-служба с 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.

Пример 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: