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

如何在Azure ML管道组件中写入Azure Blob元数据(AML v2)

在Azure ML v2 Python SDK中更新Blob元数据的方法

当你通过Azure ML管道组件的uri_folder输出创建Blob文件后,可通过以下步骤使用AML v2 Python SDK更新该Blob的元数据:

步骤1:初始化ML客户端并获取目标数据存储

首先连接到Azure ML工作区,获取对应的Blob数据存储实例:

from azure.ai.ml import MLClient
from azure.identity import DefaultAzureCredential

# 初始化ML客户端
ml_client = MLClient(
    credential=DefaultAzureCredential(),
    subscription_id="你的订阅ID",
    resource_group_name="你的资源组名",
    workspace_name="你的工作区名"
)

# 获取目标Blob数据存储
datastore = ml_client.datastores.get("你的数据存储名称")

步骤2:创建Blob存储客户端

利用AML数据存储的连接信息,生成Azure Blob Storage的客户端:

from azure.storage.blob import BlobServiceClient

# 获取数据存储的连接字符串
connection_string = datastore.account_key.get_secret_value()
blob_service_client = BlobServiceClient.from_connection_string(connection_string)

# 获取数据存储对应的Blob容器客户端
container_client = blob_service_client.get_container_client(datastore.container_name)

步骤3:定位目标Blob并更新元数据

根据创建文件时的路径定位目标Blob,调用set_blob_metadata方法完成元数据更新:

# 目标Blob的路径,需与你创建文件时的路径对应
# 例:若args.datapath对应数据存储根目录,路径为"content.txt"; 若有子目录则为"子目录路径/content.txt"
blob_path = "content.txt"

# 获取目标Blob的客户端
blob_client = container_client.get_blob_client(blob_path)

# 定义要设置的元数据(键值对格式)
metadata = {
    "author": "your_team",
    "generated_by": "AML_pipeline",
    "creation_date": "2024-05-20"
}

# 更新Blob元数据
blob_client.set_blob_metadata(metadata=metadata)

追加元数据而非覆盖

若需保留现有元数据并追加新字段,可先获取当前元数据再更新:

# 获取Blob当前的元数据
existing_metadata = blob_client.get_blob_properties().metadata

# 追加新的元数据字段
existing_metadata.update({"processing_status": "completed"})

# 更新元数据
blob_client.set_blob_metadata(metadata=existing_metadata)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.06 16:05:41