1

我在 Airflow 中创建了一个数据管道,当工单中的某些值在工作时间发生变化时,它有助于更​​新 Freshdesk 中的工单。我更新票证的逻辑工作正常,但我想在 Freshdesk 界面中发生事件时触发 dags,这样我就不需要手动触发 dags。

FreshDesk 中有自动化规则,它在https://companyname.freshdesk.com/api/v2/tickets/{{ticket.id}}中提供外部 webhook,其中 {ticket.id} 是了解票证是从数据管道更新的。

我需要知道如何连接外部触发器,例如 webhook,以便我们可以在 Airflow 中自动触发数据管道。

我的气流版本 1.10

4

2 回答 2

1

Airflow 没有允许基于来自其他服务的 webhook 触发 DAG 的机制。

AIP-35 Add Signal Based Scheduling To Airflow可能涵盖了该用例,但目前这是增强 Airflow 的草案想法。

要使用当前功能实现您的用例,您将需要其他应用程序/服务来处理由 Freshdesk 触发的 Webhook 并使用 RestAPI 在 Airflow 中触发新的DAG 运行触发新的 DAG 运行端点

你需要知道频率。如果创建新 DAG 运行的频率太高,您应该考虑切换到批处理解决方案(Airflow 更适合)

于 2021-12-15T09:51:13.903 回答
0

我不确定 Freshdesk,但根据这个,听起来好像您可以使用其自动化机制访问外部 API。

如果是这种情况,那么我认为就是您要寻找的。这是 Apache Airflow 的 REST API 参考文档。

Airflow 允许您通过 Web API 对其进行管理,但您首先需要在配置中启用它。您应该将以下配置设置为至少使用基本身份验证。

请记住,当时那是一个实验性 API,较新的版本稍微更改了 URL 架构和 API。如今,它更加完整。

于 2021-12-15T07:25:44.757 回答