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

  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 . Требуемые значения см. в файле 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: