You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过Python SDK或PowerShell获取Azure订阅指定区域资源列表

获取Azure指定区域内的资源列表(Python/PowerShell实现)

一、Python SDK实现优化

你提供的代码已具备基础功能,可进一步优化为按资源类型分组展示,方便快速筛选Vnets、VMs等特定资源:

from azure.identity import DefaultAzureCredential
from azure.mgmt.resource import ResourceManagementClient
from collections import defaultdict

def list_resources_by_location(subscription_id, location):
    # 初始化认证与资源客户端
    credential = DefaultAzureCredential()
    resource_client = ResourceManagementClient(credential, subscription_id)

    # 按资源类型分组存储
    resources_by_type = defaultdict(list)
    for resource in resource_client.resources.list_by_location(location):
        resources_by_type[resource.type].append({
            "name": resource.name,
            "resource_group": resource.id.split('/')[4]
        })

    # 输出分组结果
    print(f"【{location}区域资源列表(按类型分组)】")
    for resource_type, items in resources_by_type.items():
        print(f"\n* {resource_type}(共{len(items)}个):")
        for item in items:
            print(f"  - 名称:{item['name']} | 资源组:{item['resource_group']}")

# 替换为你的订阅ID和目标区域
subscription_id = "你的订阅ID"
location = "eastus"

list_resources_by_location(subscription_id, location)

核心优化点

  • 用defaultdict按资源类型分组,便于定位目标资源(如Vnets对应类型Microsoft.Network/virtualNetworks)
  • 提取资源组信息,补充资源的上下文归属

二、PowerShell实现方法

通过Azure PowerShell可直接筛选指定区域资源,支持精准查询特定类型:

1. 列出指定区域所有资源(按类型分组)

# 首次运行需登录Azure
# Connect-AzAccount

# 替换为你的订阅ID和目标区域
$subscriptionId = "你的订阅ID"
$location = "eastus"

# 切换到目标订阅
Set-AzContext -Subscription $subscriptionId

# 获取资源并按类型分组输出
Get-AzResource -Location $location | Group-Object ResourceType | ForEach-Object {
    Write-Host "`n* $($_.Name)(共$($_.Count)个):"
    $_.Group | ForEach-Object {
        Write-Host "  - 名称:$($_.Name) | 资源组:$($_.ResourceGroupName)"
    }
}

2. 精准查询特定类型资源(以Vnets为例)

# 查询EastUS区域的所有虚拟网络
Get-AzResource -Location "eastus" -ResourceType "Microsoft.Network/virtualNetworks" | Select-Object Name, ResourceGroupName, Id

关键注意事项

  • 认证要求:Python的DefaultAzureCredential支持Azure CLI登录、环境变量配置等多种认证方式;PowerShell需先执行Connect-AzAccount完成登录
  • 常见资源类型标识符:
    • 资源组:Microsoft.Resources/resourceGroups
    • 虚拟机:Microsoft.Compute/virtualMachines
    • 存储账户:Microsoft.Storage/storageAccounts

内容的提问来源于stack exchange,提问作者User

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.28 10:04:57