使用Python SDK创建Azure Data Factory触发器报PipelineReference初始化错误
报错原因
你使用的Azure Data Factory Python SDK为较新版本,该版本下PipelineReference类的构造方法不再支持直接传递管道名称作为位置参数,必须显式指定关键字参数,因此触发了参数数量不匹配的报错。
解决方案
将原代码中初始化PipelineReference的行修改为显式指定reference_name关键字参数的写法即可,同步建议对TriggerPipelineReference也显式指定参数名避免版本兼容问题,完整修正后的代码如下:
# Create a trigger tr_name = 'mytrigger' # 额外注意:interval参数要求为整数类型,原字符串格式'15'可能触发类型校验错误,修改为整数15 scheduler_recurrence = ScheduleTriggerRecurrence(frequency='Minute', interval=15, start_time='2017-12-12T04:00:00Z', end_time='2017-12-12T05:00:00Z', time_zone='UTC') pipeline_parameters = {'inputPath':'adftutorial/input', 'outputPath':'adftutorial/output'} pipelines_to_run = [] # 修正:显式指定reference_name关键字参数 pipeline_reference = PipelineReference(reference_name='copyPipeline') # 修正:TriggerPipelineReference也显式指定参数名 pipelines_to_run.append(TriggerPipelineReference(pipeline_reference=pipeline_reference, parameters=pipeline_parameters)) tr_properties = ScheduleTrigger(description='My scheduler trigger', pipelines = pipelines_to_run, recurrence=scheduler_recurrence) adf_client.triggers.create_or_update(rg_name, df_name, tr_name, tr_properties) # Start the trigger adf_client.triggers.start(rg_name, df_name, tr_name)
内容的提问来源于stack exchange,提问作者Anirban
相关产品推荐
相关产品推荐

