【发布时间】:2021-04-12 11:28:58
【问题描述】:
有没有办法通过 REST-API 获取最后一次执行 PutSQL 处理器的时间戳?这样的时间戳是否存在,或者我可以以某种方式自己构建一个?
设置:我有 Airflow 来触发我的 Nifi-ETL,它以几个 PutSQL 处理器结束 - 完成之后,我需要在 Airflow 中执行其他操作。
想法:我想触发第一个 Nifi 处理器,然后在 Airflow 中等待,直到最后一个 PutSQL 处理器的last_execution_timestamp 更新。
问题:
我尝试访问属性statsLastRefreshed,但这不是最后一次执行时间,而是最后一次任何东西(用户/api请求)访问导致Nifi刷新处理器的处理器。
s = processor["status"]["statsLastRefreshed"] # '13:13:26 CEST'
我在 Airflow 的 REST API 文档中找不到任何内容。
我看到的唯一其他选择是从 Airflow 向最后一个 PutSQL 处理器的数据库表发出请求,以查看那里是否发生了任何新情况。
【问题讨论】:
-
使用在 putsql 前后获取当前时间戳的 updateattribute 怎么样?
-
Afaik,
updateattribute更改了流文件的属性,我无法使用 REST API 查询 - 还是我误解了你? -
restapi 是 HandleHttp 处理器还是别的什么?
-
它独立于处理器 - 基本上它允许查询 Nifi 中的对象(组/处理器/控制器)nifi.apache.org/docs/nifi-docs/rest-api
标签: python apache-nifi