本文介绍如何使用 Azure 帐户扩展连接到Azure Stack Hub,以便直接从 VS Code 使用Azure。 需要更新 VS Code 设置。
VS Code 是用于生成和调试 Web 和云应用程序的轻型编辑器。 ASP.NET Core、Python、Node.js、Go 和其他开发人员使用 VS Code。 通过使用 Azure 帐户扩展,可以使用单个Azure登录,对其他Azure扩展使用订阅筛选。 该扩展使 Shell 在 VS Code 集成终端中可用。 使用该扩展时,可以通过 Microsoft Entra ID 和 Active Directory 联合身份验证服务(AD FS)作为标识管理器,连接到你的 Azure Stack Hub 订阅。 可以登录到Azure Stack Hub,选择订阅,并在 shell 中打开新的命令行。
Note
可以将本文中的步骤用于 Active Directory 联合服务(AD FS)环境。 使用您的 AD FS 凭据和终结点。
Visual Studio Code 和 Azure Stack Hub
除了用于Visual Studio的 Azure 帐户扩展外,还支持其他许多Azure扩展用于 Azure Stack Hub 和 VS Code。 这些扩展包括:
- Visual Studio Code Azure 存储扩展
- Visual Studio Code Azure 资源扩展(需要版本 0.4.0 或更高版本)
- Visual Studio Code Azure 虚拟机扩展
Azure 帐户扩展的先决条件
- Azure Stack Hub 环境。
- Visual Studio Code。
- Azure 帐户扩展。
- 有权访问 Azure Stack Hub 的 Azure Stack Hub 订阅 和凭据。
- 使用适用于 Azure Stack Hub 的 AZ 模块的 PowerShell 环境。 有关说明,请参阅 安装适用于 Azure Stack Hub 的 PowerShell Az 模块。
获取凭据
在本节中,使用凭据获取租户 ID。 你需要 Azure Stack Hub Azure 资源管理器 URL 和租户 ID。
Azure Stack Hub 资源管理器是一种管理框架,可用于部署、管理和监视Azure资源。
- Azure Stack 开发工具包(ASDK)的资源管理器 URL 为:
https://management.local.azurestack.external/ - 集成系统的资源管理器 URL 是:
https://management.region.<fqdn>/,其中<fqdn>是您的全限定域名。
使用提升的提示打开 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/在同一会话中运行以下 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 $TenantIdAccount SubscriptionName TenantId Environment ------- ---------------- -------- ----------- username@contoso.com azure-stack-sub aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb username@contoso.com记下租户 ID。 添加配置 Azure 帐户扩展的 JSON 节时,需要用到它。
设置 Azure 帐户扩展
打开 VS Code。
在左侧角落选择“扩展”。
在搜索框中,输入
Azure Account。选择 Azure 帐户 ,然后选择“ 安装”。
重启 VS Code 以加载扩展。
按 Ctrl+Shift+P,然后选择“首选项:打开用户设置”(JSON)。
在代码编辑器中,使用环境的值更新以下 JSON 代码片段,然后将代码段粘贴到设置块中。
值:
参数 Description azure.cloud将文本常量“AzureCustomCloud”用于此参数。 azure.tenantAzure Stack Hub 租户 ID 的值。 azure.customCloud.resourceManagerEndpointUrl这是Azure Stack Hub 资源管理器的根 URL。 validateAuthority如果将Microsoft Entra ID用作标识管理器,则可以省略此参数。 如果使用的是 AD FS,请添加一个值为 的参数。 JSON 代码片段:
"azure.cloud": "AzureCustomCloud", "azure.customCloud.resourceManagerEndpointUrl": "https://management.region.<fqdn>", "azure.tenant": "<your-tenant-ID>",
保存用户设置(JSON),并再次使用 Ctrl+Shift+P 。 选择 “Azure:登录”。 身份验证页会在浏览器中加载。 登录端点。
若要测试是否已成功登录到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 存储帐户。 |