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

使用Azure Data Factory Python SDK创建存储过程活动参数遇阻

Azure Data Factory Python SDK:存储过程活动参数名称传递问题解决

正确代码实现

使用StoredProcedureParameter类时必须显式指定name参数,以下是标准可运行写法:

from azure.mgmt.datafactory.models import (
    StoredProcedureActivity,
    StoredProcedureParameter,
    LinkedServiceReference
)

# 定义存储过程参数列表,每个参数必须包含name、value、type三个属性
sp_parameters = [
    StoredProcedureParameter(
        name="CustomerID",
        value="@{pipeline().parameters.CustomerID}",
        type="String"
    ),
    StoredProcedureParameter(
        name="OrderAmount",
        value=999.99,
        type="Decimal"
    )
]

# 创建存储过程活动并关联参数
sp_activity = StoredProcedureActivity(
    name="Run_Insert_Order_SP",
    stored_procedure_name="InsertCustomerOrder",
    linked_service_name=LinkedServiceReference(reference_name="AzureSQL_LinkedService"),
    stored_procedure_parameters=sp_parameters
)

常见错误排查

  1. 未显式传入name参数:初始化StoredProcedureParameter时仅传递value和type,会直接导致参数名称丢失,这是最常见的问题。
  2. 错误使用字典传递参数:SDK要求stored_procedure_parameters接收StoredProcedureParameter对象的列表,而非原始字典结构。若强行用字典,需严格匹配SDK序列化规则,但直接使用类实例更可靠且不易出错。
  3. SDK版本兼容问题:旧版本ADF SDK可能存在参数绑定bug,执行pip install --upgrade azure-mgmt-datafactory升级至≥8.0.0的稳定版本即可解决。

执行上述代码后,在ADF门户中查看该活动,参数名称、值和类型会与代码定义完全一致,和手动创建的存储过程活动参数表现相同。

内容的提问来源于stack exchange,提问作者Felipe Vila Chã

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.26 01:36:25