Python 如何获取自动触发的Azure Data Factory管道运行状态

Python 如何获取自动触发的Azure Data Factory管道运行状态,python,azure-data-factory-2,Python,Azure Data Factory 2,我正在使用以下Python代码(主要来自Stackoverflow)成功地获得特定的ADF管道运行状态。这将返回手动触发的运行。这是下图中的表1 然而,我想得到表2中的跑步记录。下面的代码无法做到这一点 我需要添加什么才能从tab2中“自动触发”运行?我在管道中有一个名为“DailyTrigger”的触发器 谢谢 def get_triggered_pipeline_run_status_history_df(adf_client,resource_group_name,days_ago,ad

我正在使用以下Python代码(主要来自Stackoverflow)成功地获得特定的ADF管道运行状态。这将返回手动触发的运行。这是下图中的表1

然而,我想得到表2中的跑步记录。下面的代码无法做到这一点

我需要添加什么才能从tab2中“自动触发”运行?我在管道中有一个名为“DailyTrigger”的触发器

谢谢

def get_triggered_pipeline_run_status_history_df(adf_client,resource_group_name,days_ago,adf_pipeline_name):
    filter_params = RunFilterParameters(last_updated_after=datetime.now(timezone.utc) - timedelta(days_ago),last_updated_before=datetime.now(timezone.utc) + timedelta(days_ago))
    for adf_name in get_subscription_data_factory_list(adf_client,resource_group_name):
        adf_run_history = adf_client.pipeline_runs.query_by_factory(resource_group_name,adf_name,filter_params)
        if len(adf_run_history.value) > 0:
            latest_pipeline_runids_df = __get_latest_pipeline_runid__(adf_run_history.value,adf_pipeline_name)
            for row in latest_pipeline_runids_df.itertuples():
                pipeline_run = adf_client.pipeline_runs.get(resource_group_name, adf_name, row.latest_runid)         
                if str(pipeline_run.pipeline_name).lower() == str(adf_pipeline_name).lower():
                    query_response = adf_client.activity_runs.query_by_pipeline_run(resource_group_name, adf_name, row.latest_runid,filter_params)
                    df = __enumerate_print_run_activities__(query_response.value,adf_name,pipeline_run.pipeline_name,pipeline_run.run_end,pipeline_run.status)
            return df  

据我所知,你想获取触发运行历史记录。如果是这样,您可以使用RESTAPI来实现它

比如说

adf_client = DataFactoryManagementClient(credentials, subscription_id)
filter_params = RunFilterParameters(last_updated_after=datetime.now(timezone.utc) - timedelta(7),last_updated_before=datetime.now(timezone.utc) + timedelta(7),filters=[
  {  
    "operand": "TriggerName",
    "operator": "In",
    "values": [
        "<your trigger name>"
    ]
  }
])

 res = adf_client.trigger_runs.query_by_factory(resource_group_name,adf_name,filter_params)

// process the result according to your need
adf_client=DataFactoryManagementClient(凭证、订阅id)
filter_参数=RunFilterParameters(last_updated_after=datetime.now(timezone.utc)-timedelta(7),last_updated_after=datetime.now(timezone.utc)+timedelta(7),过滤器=[
{  
“操作数”:“触发器名称”,
“操作员”:“在”,
“价值观”:[
""
]
}
])
res=adf_客户端。触发器运行。按工厂查询(资源组名称、adf_名称、筛选器参数)
//根据您的需要处理结果

您能详细描述一下您的问题吗?@JimXu我已经添加了更多细节,包括图片。谢谢