pythonsdk资源组
python sdk resource group
我正在使用 python 获取正在使用的 vnet、子网和所有 IP 地址(以及 RG 的标签)。
我想使用 get_client_from_cli_profile 并通过 az login 登录。
我有很多订阅,但我无法列出每个订阅的所有 RG。
def test():
subscription_client = get_client_from_cli_profile(SubscriptionClient)
resource_client = get_client_from_cli_profile(ResourceManagementClient)
out = ''
for g in subscription_client.subscriptions.list():
for v in resource_client.resource_groups.list(subscription_id=g.subscription_id):
out = out + '\n' + " " + g.subscription_id + " " + v.name
return out
print(test())
此代码显示每个订阅的相同 RG。
你知道我如何列出 vnet 中的所有子网吗?
您知道如何列出每个子网内的所有 IP 地址吗?我想查看使用了哪些 IP 地址。
根据您的要求,您使用的身份验证不合适。可以看到CLI配置文件的描述:
Return a SDK client initialized with current CLI credentials, CLI
default subscription and CLI default cloud.
此代码显示每个订阅的相同 RG
据我所知,默认只有一个订阅。您可以在登录时在输出中看到这一点。因此,即使您设置了不同的订阅,您也会得到相同的组。并查看组的列表函数:
Gets all the resource groups for a subscription.
没有subscription_id的参数。参数filter
只是用来过滤同一订阅中的组。
您可以像这样更改代码以循环不同的订阅并获取不同订阅中的组:
import subprocess
def test():
subscription_client = get_client_from_cli_profile(SubscriptionClient)
out = ''
for g in subscription_client.subscriptions.list():
cmd = f"az account set --subscription {g.subscription_id}"
result = subprocess.Popen(cmd, shell=True, stdout=subprocess.PIPE)
out, err = result.communicate()
resource_client = get_client_from_cli_profile(ResourceManagementClient)
for v in resource_client.resource_groups.list():
out = out + '\n' + " " + g.subscription_id + " " + v.name
return out
你知道我如何列出 vnet 中的所有子网吗?您知道我如何列出每个子网中的所有 IP 地址吗?
获取 VNet 的子网。您可以使用 list 函数。此函数将为您提供子网的地址前缀。这意味着您可以使用的 IP 地址。没有一一列出所有子网IP地址的功能。
我正在使用 python 获取正在使用的 vnet、子网和所有 IP 地址(以及 RG 的标签)。
我想使用 get_client_from_cli_profile 并通过 az login 登录。
我有很多订阅,但我无法列出每个订阅的所有 RG。
def test():
subscription_client = get_client_from_cli_profile(SubscriptionClient)
resource_client = get_client_from_cli_profile(ResourceManagementClient)
out = ''
for g in subscription_client.subscriptions.list():
for v in resource_client.resource_groups.list(subscription_id=g.subscription_id):
out = out + '\n' + " " + g.subscription_id + " " + v.name
return out
print(test())
此代码显示每个订阅的相同 RG。 你知道我如何列出 vnet 中的所有子网吗? 您知道如何列出每个子网内的所有 IP 地址吗?我想查看使用了哪些 IP 地址。
根据您的要求,您使用的身份验证不合适。可以看到CLI配置文件的描述:
Return a SDK client initialized with current CLI credentials, CLI default subscription and CLI default cloud.
此代码显示每个订阅的相同 RG
据我所知,默认只有一个订阅。您可以在登录时在输出中看到这一点。因此,即使您设置了不同的订阅,您也会得到相同的组。并查看组的列表函数:
Gets all the resource groups for a subscription.
没有subscription_id的参数。参数filter
只是用来过滤同一订阅中的组。
您可以像这样更改代码以循环不同的订阅并获取不同订阅中的组:
import subprocess
def test():
subscription_client = get_client_from_cli_profile(SubscriptionClient)
out = ''
for g in subscription_client.subscriptions.list():
cmd = f"az account set --subscription {g.subscription_id}"
result = subprocess.Popen(cmd, shell=True, stdout=subprocess.PIPE)
out, err = result.communicate()
resource_client = get_client_from_cli_profile(ResourceManagementClient)
for v in resource_client.resource_groups.list():
out = out + '\n' + " " + g.subscription_id + " " + v.name
return out
你知道我如何列出 vnet 中的所有子网吗?您知道我如何列出每个子网中的所有 IP 地址吗?
获取 VNet 的子网。您可以使用 list 函数。此函数将为您提供子网的地址前缀。这意味着您可以使用的 IP 地址。没有一一列出所有子网IP地址的功能。