在 Azure Stack Hub 中将 API 版本配置文件与 .NET 配合使用
重要
.NET SDK 已从轨道 1 更新为跟踪 2。 强烈建议尽快迁移到轨道 2 SDK。 有关说明,请参阅 此迁移指南 。
用于 Azure Stack Hub 资源管理器的 .NET SDK 提供了相关工具来帮助构建和管理基础结构。 该 SDK 中的资源提供程序包括了计算、网络、存储、应用服务和 Key Vault。 .NET SDK 包括 14 NuGet 包。 如果使用弃用的轨道 1 .NET SDK (不建议) ,则这些包使用 API 配置文件进行版本控制,例如 2020-09-01-hybrid 和 2019-03-01-hybrid。 .NET SDK 中的 API 配置文件有助于在全局 Azure 资源和 Azure Stack Hub 资源之间切换,从而实现混合云开发。 有关详细信息,请参阅 .NET 和 API 版本配置文件 部分。
安装 Azure .NET SDK
- 安装 Git。 有关说明,请参阅入门 - 安装 Git。
- 若要安装正确的 NuGet 包,请参阅可用的 NuGet 发行版。
.NET 与 API 版本配置文件
API 配置文件是资源提供程序和 API 版本的组合。 可以使用 API 配置文件获取资源提供程序包中每个资源类型的最新且最稳定的版本。
如果使用轨道 2 .NET SDK (建议) ,则可以使用标准
Azure.*
包并在代码中配置 API 版本。 有关此示例和此标准Azure.*
包查询的示例,请参阅示例部分。如果使用轨道 1 .NET SDK (不建议) ,则必须下载以下包之一来利用 Azure Stack Hub 服务。 请务必下载与 API 配置文件对应的配置文件:
注意
必须更改 NuGet 包规范的 ResourceProvider 部分。 此外,轨道 1 .NET SDK 的包已弃用,因此可能会遇到错误。 建议尽快更新到轨道 2 .NET SDK。
配置文件
对于包含日期的配置文件,若要使用不同的 SDK 配置文件或版本,请替换中 Microsoft.Azure.Management.Profiles.hybrid_<date>.ResourceManager
的日期。 例如,对于 2008 版本,配置文件为 2019_03_01
,字符串变为 Microsoft.Azure.Management.Profiles.hybrid_2019_03_01.ResourceManager
。 请注意,有时,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 配置文件的摘要。
订阅
如果还没有订阅,请创建订阅,并保存稍后要使用的订阅 ID。 有关如何创建订阅的详细信息,请参阅此文档。
服务主体
应创建服务主体及其关联环境信息并将其保存到某个位置。 建议使用具有 owner
角色的服务主体,但根据该示例,contributor
角色即可满足要求。 有关必需值,请参阅示例存储库中的自述文件。 读取的这些值可以是 SDK 语言支持的任何格式,例如我们的示例使用的 JSON 文件格式。 并非所有这些值都可以使用,具体取决于所运行的示例。 有关更新的示例代码或详细信息,请参阅示例存储库。
租户 ID
若要查找 Azure Stack Hub 的目录或租户 ID,请按照此文中的说明进行操作。
注册资源提供程序
遵循此文档注册所需的资源提供程序。 根据要运行的示例,将需要这些资源提供程序。 例如,如果要运行 VM 示例,则需要 Microsoft.Compute
资源提供程序注册。
Azure Stack 资源管理器终结点
Azure 资源管理器 (ARM) 是一种管理框架,可供管理员用来部署、管理和监视 Azure 资源。 Azure 资源管理器可以通过单个操作以组任务而不是单个任务的形式处理这些任务。 可以从资源管理器终结点获取元数据信息。 该终结点返回 JSON 文件,其中包含运行代码所需的信息。
- Azure Stack 开发工具包 (ASDK) 中的 ResourceManagerEndpointUrl 是:
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
配置文件版本中,可以将资源提供程序microsoft.resources
的api-version
更改为2019-10-01
。
示例 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"]
}
}
示例
有关最新更新 (跟踪 2) 示例代码,请参阅 此示例存储库 。 有关跟踪 1 示例代码,请参阅此示例存储库 。 根 README.md
目录描述一般要求,每个子目录都包含一个特定示例,其中包含其自己的 README.md
示例,用于描述如何运行该示例。
有关适用于 Azure Stack 版本 2008
或配置文件 2019-03-01
及更低版本的示例,请参阅此文。
后续步骤
了解有关 API 配置文件的详细信息: