Azure ML Python SDK v2预览版如何获取Workspace对象
解决方案
新版Azure Machine Learning Python SDK v2中,所有带Operations后缀的操作类(包括你用到的WorkspaceOperations)都不支持下标([])方式取值,这是触发'WorkspaceOperations' object is not subscriptable报错的根本原因。
获取Workspace实例的正确写法
单资源查询统一调用操作组的get()方法即可:
# 注意:你初始化MLClient时传入的workspace_name参数值开头多了一个多余空格,请删除后再运行,否则会报工作区不存在错误 ws = ml_client.workspaces.get(name="mmAmlsWksp01")
返回的ws就是标准的azure.ai.ml.entities.Workspace类实例,可直接访问工作区全量属性、调用相关操作方法。
关于list()遍历返回值的说明
你调用ml_client.workspaces.list()遍历得到的每一项本身就是Workspace实例,打印时仅展示name、displayName、id等核心属性是类默认的字符串序列化规则,并非返回了非实例的字典或文本结构。你可以通过执行print(type(w))验证类型,遍历拿到的对象可直接作为Workspace实例使用。
注意事项
- SDK v2所有资源操作组(计算、数据集、环境、组件等)的用法一致:单资源查询调用
get(),资源列表查询调用list(),均不支持下标索引取值 - 初始化MLClient、调用资源操作方法时,传入的资源名称不要带多余空格、不可见字符,否则会触发资源匹配失败的问题
内容的提问来源于stack exchange,提问作者Mauro Minella
相关产品推荐
相关产品推荐

