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

如何从AzureML获取运行中VM(计算实例)列表及运行时长

问题:列出AzureML中运行的Compute Instance状态及运行时长

我是Python和AzureML的新手,当前任务是列出所有运行中的VM(或Compute Instances)的状态,以及(若处于运行状态)的运行时长。我已成功连接AzureML并列出订阅、资源组和工作区,但在获取运行中VM列表时遇到瓶颈。

以下是我当前的代码:

# get subscriptions list using credentials
subscription_client = SubscriptionClient(credentials)
sub_list = subscription_client.subscriptions.list()

print("Subscription ID".ljust(column_width) + "Display name")
print(separator)
for group in list(sub_list):
    print(f'{group.subscription_id:<{column_width}}{group.display_name}')
    subscription_id = group.subscription_id
    resource_client = ResourceManagementClient(credentials, subscription_id)
    
    group_list = resource_client.resource_groups.list()
    print("    Resource Groups:")
    for group in list(group_list):
        print(f"    {group.name}{group.location}")
        print("        Workspaces:")
        my_ml_client = Workspace.list(subscription_id, credentials, group.name)
        for ws in list(my_ml_client):
            try:
                print(f"        {ws}")
                if ws:
                    compute = ComputeTarget(workspace=ws, name=group.name) 
                    print('Found existing compute: ' + group.name)
            except:
                pass

请注意,这更多是学习练习,代码并非最终版本,能运行后我会重构。


编辑1:找到简便方法

workspace = Workspace(
     subscription_id=subscription_id,
     resource_group=group.name,
     workspace_name=ws,
)
print(workspace.compute_targets)

编辑2:筛选仅获取Compute Instance

如果有像我一样刚接触Python+Azure的人看到这个问题,所有信息均来自官方文档(对新手而言较难理解)。workspace.compute_targets的结果包含Compute Instances和AML计算集群,若只需获取VM类型的Compute Instance,需额外进行筛选,代码如下:

if type(compute_list[vm]) == ComputeInstance:

内容的提问来源于stack exchange,提问作者Vlad Eugen Nitu

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.07 06:25:24