使用 Visual Studio Code 中的 Azure 帐户扩展连接到 Azure Stack Hub

本文介绍如何使用 Azure 帐户扩展连接到 Azure Stack Hub,以便可以直接从 Visual Studio Code 使用 Azure。 需要更新 Visual Studio Code (VS Code) 设置。

VS Code 是用于生成和调试 Web 与云应用程序的轻型编辑器。 ASP.NET Core、Python、NodeJS、Go 和其他开发人员都使用 VS Code。 使用 Azure 帐户扩展,可以配合订阅筛选使用 Azure 单一登录,以获取其他 Azure 扩展。 借助该扩展可以在与 VS Code 集成的终端中使用 Shell。 通过该扩展,可以使用标识管理器的 Microsoft Entra ID 和 Active Directory 联合身份验证服务 (AD FS) 连接到 Azure Stack Hub 订阅。 你可以登录到 Azure Stack Hub,选择自己的订阅,并在 shell 中打开新的命令行。

注意

可对 Active Directory 联合身份验证服务 (AD FS) 环境使用本文所述的步骤。 使用 AD FS 凭据和终结点。

Visual Studio Code 和 Azure Stack Hub

除了适用于 Visual Studio 的 Azure 帐户扩展外,还支持将许多其他的 Azure 扩展与 Azure Stack Hub 和 Visual Studio Code 配合使用。 其中包括:

Azure 帐户扩展的先决条件

获取你的凭据

在本部分中,你将使用你的凭据获取租户 ID。 将需要 Azure Stack Hub 资源管理器 URL 和租户 ID。

Azure Stack Hub 资源管理器是一种管理框架,可用于部署、管理和监视 Azure 资源。

  • Azure Stack 开发工具包 (ASDK) 的资源管理器 URL 为:https://management.local.azurestack.external/
  • 集成系统的资源管理器 URL 为 https://management.region.<fqdn>/,其中的 <fqdn> 是你的完全限定域名。
  1. 使用权限提升的提示符打开 PowerShell,然后运行以下 cmdlet:

    Add-AzEnvironment -Name "<username@contoso.com>" -ArmEndpoint "https://management.region.<fqdn>"
    
    Name  Resource Manager Url                            ActiveDirectory Authority
    ----  --------------------                            -------------------------
    username@contoso.com https://management.region.<fqdn> https://login.partner.microsoftonline.cn/
    
  2. 请在同一会话中运行以下 cmdlet:

    $AuthEndpoint = (Get-AzEnvironment -Name "sethm@microsoft.com").ActiveDirectoryAuthority.TrimEnd('/')
    $AADTenantName = "masselfhost.partner.onmschina.cn"
    $TenantId = (invoke-restmethod "$($AuthEndpoint)/$($AADTenantName)/.well-known/openid-configuration").issuer.TrimEnd('/').Split('/')[-1]
    Add-AzAccount -EnvironmentName "sethm@microsoft.com" -TenantId $TenantId
    
    Account               SubscriptionName  TenantId                             Environment
    -------               ----------------  --------                             -----------
    username@contoso.com   azure-stack-sub  6d5ff183-b37f-4a5b-9a2f-19959cb4224a username@contoso.com
    
  3. 记下租户 ID。 在添加将配置 Azure 帐户扩展的 JSON 部分时,需要此内容。

设置 Azure 帐户扩展

  1. 打开 VS Code。

  2. 选择左侧一角的“扩展”。

  3. 在搜索框中输入 Azure Account

  4. 依次选择“Azure 帐户”、“安装”。

    Screenshot of installation screen for the extension

  5. 重启 VS Code 以加载该扩展。

  6. 按 Ctrl+Shift+P,然后选择“首选项: 打开用户设置(JSON)”。

  7. 在代码编辑器中,使用环境的值更新以下 JSON 代码片段,然后将代码片段粘贴到设置块中。

    • 值:

      参数 说明
      azure.cloud 必须对此参数使用文本常量“AzureCustomCloud”。
      azure.tenant Azure Stack Hub 租户 ID 的值。
      azure.customCloud.resourceManagerEndpointUrl 这是 Azure Stack Hub 的 Azure 资源管理器的根 URL。
      validateAuthority 如果使用 Microsoft Entra ID 作为标识管理器,则可以省略此参数。 如果使用 AD FS,请添加此参数并将值设为 false
    • JSON 代码片段:

        "azure.cloud": "AzureCustomCloud",
        "azure.customCloud.resourceManagerEndpointUrl": "https://management.region.<fqdn>",
        "azure.tenant": "<your-tenant-ID>",
      
  8. 保存用户设置 (JSON) 并再次按下 Ctrl+Shift+P。 选择“Azure:登录”。 浏览器中会加载身份验证页。 登录到你的终结点。

  9. 若要测试是否已成功登录到你的 Azure Stack Hub 订阅,请按 Ctrl+Shift+ P 并选择“Azure:选择订阅”,然后查看你的订阅是否可用。

命令

Azure:登录 登录到 Azure 订阅
Azure:使用设备代码登录 使用设备代码登录到你的 Azure 订阅。 在“登录”命令不起作用的设置中使用设备代码。
Azure:登录到 Azure 云 登录到某个主权云中的 Azure 订阅。
Azure:注销 从 Azure 订阅注销
Azure:选择订阅 选择要使用的订阅集。 该扩展只显示筛选的订阅中的资源。
Azure:创建帐户 如果没有 Azure 帐户,可以注册
Azure:在 Shell 中打开 Bash 在 Shell 中打开运行 Bash 的新终端。
Azure:在 Shell 中打开 PowerShell 在 Shell 中打开运行 PowerShell 的新终端。
Azure:上传到 Shell 将文件上传到 Shell 存储帐户。

后续步骤

在 Azure Stack Hub 中设置开发环境

通过 Visual Studio Code 在 Azure Stack Hub 中设置 Azure 存储