从python为ADF V2创建存储过程活动

时间:2017-12-26 23:06:29

标签: python azure-data-factory

为为ADF V2创建存储过程活动的代码获取以下错误。

  

无法构建模型:无法反序列化响应数据。数据:{DateToImportFor:{value:2017-01-04,type:str}},{StoredProcedureParameter},AttributeError:' str'对象没有属性' items',DeserializationError:无法反序列化响应数据。数据:{DateToImportFor:{value:2017-01-04,type:str}},{StoredProcedureParameter},AttributeError:' str'对象没有属性'项目'

我的代码:

spActivity_Name="AzureSQLDWStoredProcedureActivity"
storedproc_name ="DailyImport"
linkedService = LinkedServiceReference(lsdw)
p="{%s :{value:%s,type:str}}" % ('DateToImportFor','2017-01-04')


lsp_activity = SqlServerStoredProcedureActivity(name=spActivity_Name,
                                       stored_procedure_name=storedproc_name,
                                       stored_procedure_parameters=p,
                                       linked_service_name=linkedService)

由于我是python的新手,我不知道如何构造参数对象。

#stored_procedure_parameter is expecting in the following format
  :param stored_procedure_parameters: Value and type setting for stored
     procedure parameters. Example: "{Parameter1: {value: "1", type: "int"}}".
    :type stored_procedure_parameters: dict[str,
     ~azure.mgmt.datafactory.models.StoredProcedureParameter]
    """


p_name =  'StoredProcPipeLine'
params_for_pipeline = {}
p_obj = PipelineResource(activities=[lsp_activity], parameters=params_for_pipeline)
p = adf_client.pipelines.create_or_update(rg_name, df_name, p_name, p_obj)

1 个答案:

答案 0 :(得分:0)

文档示例有点不准确,因为它将stored_procedure_parameters的示例说明为字符串。

尝试将p设为字典:

from azure.mgmt.datafactory.models import StoredProcedureParameter
p = {'DateToImportFor': StoredProcedureParameter('2017-01-04', type='String')}