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

Azure中AWS Lambda等效服务及Python获取VM信息方案咨询

Azure中获取VM信息的Python方案(对应AWS Lambda+boto3场景)

对应服务与替代工具

  • 替代AWS Lambda的无服务器服务:Azure Functions,支持Python运行时,可按需执行代码
  • 替代boto3的Azure SDK:azure-mgmt-compute,这是Azure官方Python SDK中专门用于管理计算资源(含虚拟机)的模块

实现步骤

  1. 安装依赖包
    在Python环境(或Azure Functions的requirements.txt)中添加以下依赖:

    azure-mgmt-compute>=29.0.0
    azure-identity>=1.12.0
    

    执行安装命令:pip install azure-mgmt-compute azure-identity

  2. 配置权限
    如果用Azure Functions运行代码,建议给函数的系统分配托管身份分配Reader或Virtual Machine Contributor角色(针对目标订阅或资源组),这样代码能安全访问VM数据,无需硬编码密钥。

  3. Python代码示例
    以下是Azure Functions中HTTP触发的VM信息获取示例:

    from azure.identity import DefaultAzureCredential
    from azure.mgmt.compute import ComputeManagementClient
    import azure.functions as func
    
    def main(req: func.HttpRequest) -> func.HttpResponse:
        # 初始化认证客户端,自动使用托管身份(本地调试会调用Azure CLI认证)
        credential = DefaultAzureCredential()
        subscription_id = "你的Azure订阅ID"
        compute_client = ComputeManagementClient(credential, subscription_id)
    
        # 获取订阅下所有VM
        vm_list = compute_client.virtual_machines.list_all()
        vm_details = []
    
        for vm in vm_list:
            # 提取关键信息,可按需扩展字段
            vm_info = {
                "vm_name": vm.name,
                "resource_group": vm.id.split("/")[4],
                "location": vm.location,
                "vm_size": vm.hardware_profile.vm_size,
                "power_state": vm.instance_view.statuses[1].display_status if vm.instance_view else "未知"
            }
            vm_details.append(vm_info)
    
        return func.HttpResponse(
            f"VM信息:{str(vm_details)}",
            mimetype="application/json"
        )
    

额外说明

  • 若只需获取特定资源组的VM,可替换为compute_client.virtual_machines.list(resource_group_name="你的资源组名称")
  • 调用compute_client.virtual_machines.get(resource_group_name="xxx", vm_name="xxx")可获取单个VM的完整详细信息(含磁盘、网络配置等)
  • 本地调试时,DefaultAzureCredential会自动使用本地登录的Azure CLI账号认证,无需额外配置

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.02 20:55:19