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

能否通过Python版Azure SDK免脚本创建Dataflow?求含Source、Transformation、Sink的示例代码

可以使用Python版Azure SDK无脚本创建Dataflow

完全可以通过Azure Python SDK的azure-mgmt-datafactory库,以声明式方式创建包含Source、Transformation和Sink的Dataflow,无需编写Dataflow脚本行。

示例代码

首先安装依赖包:

pip install azure-mgmt-datafactory azure-identity

以下是完整的Dataflow创建代码,涵盖Blob存储源、过滤转换、Blob存储输出的流程:

from azure.identity import DefaultAzureCredential
from azure.mgmt.datafactory import DataFactoryManagementClient
from azure.mgmt.datafactory.models import (
    DataFlow,
    DataFlowSource,
    DataFlowSink,
    FilterTransformation,
    DatasetReference,
    Expression
)

# 替换为你的Azure资源信息
subscription_id = "<你的订阅ID>"
resource_group_name = "<你的资源组名称>"
factory_name = "<你的Data Factory名称>"
dataflow_name = "UserFilterDataFlow"

# 初始化Data Factory客户端
credential = DefaultAzureCredential()
adf_client = DataFactoryManagementClient(credential, subscription_id)

# 1. 定义Source:引用已创建的Blob源数据集
source = DataFlowSource(
    dataset_reference=DatasetReference(reference_name="SourceUserBlobDataset"),
    name="Source"
)

# 2. 定义Transformation:过滤年龄大于18的用户数据
filter_transform = FilterTransformation(
    name="FilterAdultUsers",
    source=source.name,
    condition=Expression(value="greater(age, 18)")
)

# 3. 定义Sink:引用已创建的Blob目标数据集
sink = DataFlowSink(
    dataset_reference=DatasetReference(reference_name="SinkAdultUserBlobDataset"),
    name="Sink"
)

# 构建DataFlow对象
dataflow = DataFlow(
    sources=[source],
    sinks=[sink],
    transformations=[filter_transform]
)

# 创建/更新Dataflow
response = adf_client.data_flows.create_or_update(
    resource_group_name=resource_group_name,
    factory_name=factory_name,
    data_flow_name=dataflow_name,
    data_flow=dataflow
)

print(f"Dataflow {dataflow_name} 创建完成,状态: {response.provisioning_state}")

代码说明

  • Source:通过DatasetReference直接引用Data Factory中已配置好的源数据集(示例为Blob存储数据集),无需编写脚本指定数据源细节。
  • Transformation:使用FilterTransformation类定义过滤逻辑,通过Expression传入Data Factory原生表达式实现数据筛选,替代脚本行。
  • Sink:同样通过DatasetReference引用目标数据集,将处理后的数据写入指定存储位置。

注意:需提前在Data Factory中创建好对应的源和目标数据集,代码中直接引用其名称即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.20 14:22:18