如何通过Azure Python SDK列出指定管理组下的所有订阅?
使用Azure Python SDK列出指定管理组下的订阅
所需依赖包
先安装必要的Python包:
pip install azure-mgmt-resource azure-identity
实现代码
通过SubscriptionClient的list_by_management_group方法可以直接获取指定管理组下的所有订阅,示例代码如下:
from azure.identity import DefaultAzureCredential from azure.mgmt.resource import SubscriptionClient # 初始化认证凭据(支持Azure CLI、环境变量、Managed Identity等多种认证方式) credential = DefaultAzureCredential() # 创建订阅客户端实例 subscription_client = SubscriptionClient(credential) # 替换为你的目标管理组ID(注意是管理组的GUID,不是显示名称) target_management_group_id = "xxxxxx-xxxx-xxxx-xxxx-xxxxxxxxx" # 调用方法列出管理组下的订阅 subscriptions_list = subscription_client.subscriptions.list_by_management_group(target_management_group_id) # 遍历输出订阅详情 for sub in subscriptions_list: print(f"订阅名称: {sub.display_name}") print(f"订阅ID: {sub.subscription_id}") print(f"订阅状态: {sub.state}\n")
注意事项
- 权限要求:执行代码的身份需要拥有目标管理组的
Management Group Reader或更高权限(如Contributor)。 - 管理组ID说明:管理组ID是唯一的GUID,可在Azure门户的管理组详情页面中获取,不要使用管理组的显示名称。
- 认证方式:本地开发时,确保已通过
az login登录Azure CLI;生产环境可使用Managed Identity或服务主体认证(需设置对应环境变量)。
内容的提问来源于stack exchange,提问作者MoonHorse
相关产品推荐
相关产品推荐

