为什么 Azure Cloud Shell 在默认订阅中创建资源组?
Why Azure Cloud Shell is creating resource group in default subscription?
我在 Azure Cloud Shell
中将当前会话的订阅更改为在 Azure Cloud Shell 的同一会话中使用 Set-AzContext as follows. But when I create a Resource Group
using Ansible playbook 的不同订阅,资源组仍默认创建订阅,为什么?
Set-AzContext -SubscriptionId "myOtherSubscription"
以上命令成功将订阅从默认更改为myOtherSubscription
并显示结果如下:
Name Account SubscriptionName Environment TenantId
---- ------- ---------------- ----------- --------
Visual Studio Enterprise – MPN (a86c7y8… MSI@51342 Visual Studio Enterprise – MPN AzureCloud 86eafd5a-8ce3-4d0c-981c-8dac1…
然后我 运行 成功创建资源组的 ansible 命令 ansible-playbook myplaybook_to_create_rg.yml
但仍然在默认订阅中而不是在 myOtherSubscription
中。如 Microsoft 团队的 this 示例所示,在用于创建资源组的可靠代码中没有提到订阅。这意味着它应该在订阅中创建资源组,Azure Cloud Shell in 运行 on.
您在这里的误解源于这样一个事实,即 Ansible 没有 知道作为您正在使用的 AzContext
的一部分选择的订阅。您链接的文档证实了这一点:
When working with multiple subscriptions, specify the subscription Ansible uses by exporting the AZURE_SUBSCRIPTION_ID
environment variable.
对于云 Shell,有两种方法之一可以根据您的 shell 类型设置 Ansible 使用的订阅:
对于基于 PowerShell 的 Cloud Shell 实例,通过以下方式在本地范围内设置 AZURE_SUBSCRIPTION_ID
环境变量运行:
$env:AZURE_SUBSCRIPTION_ID="<your-subscription-id>"
...用目标 Azure 订阅 ID 替换 <your-subscription-id>
占位符。
对于基于bash
的云Shells,可以使用export
关键字实现相同东西:
export AZURE_SUBSCRIPTION_ID="<your-subscription-id>"`
...用目标 Azure 订阅 ID 替换 <your-subscription-id>
占位符。
我在 Azure Cloud Shell
中将当前会话的订阅更改为在 Azure Cloud Shell 的同一会话中使用 Set-AzContext as follows. But when I create a Resource Group
using Ansible playbook 的不同订阅,资源组仍默认创建订阅,为什么?
Set-AzContext -SubscriptionId "myOtherSubscription"
以上命令成功将订阅从默认更改为myOtherSubscription
并显示结果如下:
Name Account SubscriptionName Environment TenantId
---- ------- ---------------- ----------- --------
Visual Studio Enterprise – MPN (a86c7y8… MSI@51342 Visual Studio Enterprise – MPN AzureCloud 86eafd5a-8ce3-4d0c-981c-8dac1…
然后我 运行 成功创建资源组的 ansible 命令 ansible-playbook myplaybook_to_create_rg.yml
但仍然在默认订阅中而不是在 myOtherSubscription
中。如 Microsoft 团队的 this 示例所示,在用于创建资源组的可靠代码中没有提到订阅。这意味着它应该在订阅中创建资源组,Azure Cloud Shell in 运行 on.
您在这里的误解源于这样一个事实,即 Ansible 没有 知道作为您正在使用的 AzContext
的一部分选择的订阅。您链接的文档证实了这一点:
When working with multiple subscriptions, specify the subscription Ansible uses by exporting the
AZURE_SUBSCRIPTION_ID
environment variable.
对于云 Shell,有两种方法之一可以根据您的 shell 类型设置 Ansible 使用的订阅:
对于基于 PowerShell 的 Cloud Shell 实例,通过以下方式在本地范围内设置
AZURE_SUBSCRIPTION_ID
环境变量运行:$env:AZURE_SUBSCRIPTION_ID="<your-subscription-id>"
...用目标 Azure 订阅 ID 替换
<your-subscription-id>
占位符。对于基于
bash
的云Shells,可以使用export
关键字实现相同东西:export AZURE_SUBSCRIPTION_ID="<your-subscription-id>"`
...用目标 Azure 订阅 ID 替换
<your-subscription-id>
占位符。