在 Azure Stack Hub 中将 API 版本配置文件与 Node.js 软件开发工具包(SDK)配合使用

Node.js 与 API 版本配置文件

可以使用 Node.js SDK 来帮助生成和管理应用的基础结构。 Node.js SDK 中的 API 配置文件可让你在 Azure 资源和 Azure Stack Hub 资源之间切换,从而帮助实现混合云解决方案。 可以先编写一遍代码,然后同时面向 Azure 和 Azure Stack Hub。

在本文中,可以使用 Visual Studio Code 作为开发工具。 Visual Studio Code 可以调试 Node.js SDK,并允许运行应用并将应用推送到 Azure Stack Hub 实例。 可以从 Visual Studio Code 或通过运行命令 node <nodefile.js>的终端窗口进行调试。

The Node.js SDK

Node.js SDK 提供 Azure Stack Hub 资源管理器工具。 SDK 中的资源提供程序包括计算、网络、存储、应用服务和 KeyVault。 可以在 node.js 应用程序中安装 10 个资源提供程序客户端库。 还可以下载指定要用于 2020-09-01-profile 的资源提供程序,以优化应用程序的内存。 每个模块由资源提供程序、相应的 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 资源管理器订阅 @azure/arm-subscriptions-profile-hybrid-2020-09-01
Azure 资源管理器策略 @azure/arm-policy-profile-hybrid-2020-09-01
Azure 资源管理器 DNS @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
网络 @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 生成的最新配置文件。 使用此配置文件,可以使服务与 1808 缩放单元或更高版本的 Azure Stack Hub 最兼容。

  • @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 配置文件的详细信息,请参阅 API 配置文件的摘要

安装 Node.js SDK

  1. 安装 Git。 有关说明,请参阅 入门 - 安装 Git

  2. 安装或升级到当前版本的 Node.js。 Node.js 还包括 npm JavaScript 包管理器。

  3. 安装或升级 Visual Studio Code 并安装适用于 Visual Studio Code 的Node.js 扩展

  4. 安装 Azure Stack Hub 资源管理器的客户端包。 有关详细信息,请参阅 如何安装客户端库

  5. 需要安装的包取决于要使用的配置文件版本。 可以在 npm 部分中的“包 ”中找到资源提供程序的列表。

订阅

如果还没有订阅,请创建订阅,并保存稍后要使用的订阅 ID。 有关如何创建订阅的详细信息,请参阅此文档

服务主体

应创建服务主体及其关联环境信息并将其保存到某个位置。 建议使用具有 owner 角色的服务主体,但根据该示例,contributor 角色即可满足要求。 有关必需值,请参阅示例存储库中的自述文件。 读取的这些值可以是 SDK 语言支持的任何格式,例如我们的示例使用的 JSON 文件格式。 并非所有这些值都可以使用,具体取决于所运行的示例。 有关更新的示例代码或详细信息,请参阅示例存储库

租户 ID

若要查找 Azure Stack Hub 的目录或租户 ID,请按照此文中的说明进行操作。

注册资源提供程序

遵循此文档注册所需的资源提供程序。 根据要运行的示例,将需要这些资源提供程序。 例如,如果要运行 VM 示例,则需要 Microsoft.Compute 资源提供程序注册。

Azure Stack 资源管理器终结点

Azure 资源管理器 (ARM) 是一种管理框架,可供管理员用来部署、管理和监视 Azure 资源。 Azure 资源管理器可以通过单个操作以组任务而不是单个任务的形式处理这些任务。 可以从资源管理器终结点获取元数据信息。 该终结点返回 JSON 文件,其中包含运行代码所需的信息。

请考虑以下事项:

  • Azure Stack 开发工具包 (ASDK) 中的 ResourceManagerEndpointUrl 是:

  • 集成系统中的 ResourceManagerEndpointUrl 为 ,其中 https://management.region.<fqdn>/ 是完全限定的域名。

  • 检索所需的元数据:<ResourceManagerUrl>/metadata/endpoints?api-version=1.0

示例 JSON:

{
   "galleryEndpoint": "https://portal.local.azurestack.external:30015/",
   "graphEndpoint": "https://graph.chinacloudapi.cn/",
   "portal Endpoint": "https://portal.local.azurestack.external/",
   "authentication": 
      {
         "loginEndpoint": "https://login.chinacloudapi.cn/",
         "audiences": ["https://management.yourtenant.partner.onmschina.cn/3cc5febd-e4b7-4a85-a2ed-1d730e2f5928"]
      }
}

示例

有关更新到最新的示例代码,请参阅 示例存储库 。 根 README.md 描述一般要求,每个子目录都包含一个具体示例,并附有 README.md 关于如何运行该示例的说明。

有关适用于 Azure Stack 版本 或配置文件 2008 及更低版本的示例,请参阅2019-03-01

后续步骤

了解有关 API 配置文件的详细信息: