【问题标题】:Triggering a Prefect workflow externally从外部触发 Prefect 工作流
【发布时间】:2020-08-04 22:45:32
【问题描述】:

我目前有一个在 EC2 实例上本地运行的 Prefect 工作流。我可以通过 UI 在 localhost:8080 上触发我的工作流程。有没有办法通过 REST API 或其他方式从外部触发 Prefect 工作流程(比如 AWS Lambda)?

我知道 Airflow 支持实验性 REST API。

【问题讨论】:

    标签: workflow airflow prefect


    【解决方案1】:

    是的,Prefect 公开了一个完整的 GraphQL API,您可以使用它来执行所有类型的操作,包括工作流的调度/触发。 This blog post 更详细,here 是一些用于设置 AWS Lambda 函数以触发 Prefect 流运行的代码。

    【讨论】:

    • 理论上可以,但请注意,这需要一个可访问的 API 端点——云的好处之一是,只要您提供身份验证令牌,默认情况下该端点对所有服务都可用。
    • 啊,我明白了。我一直在寻找类似于 Airflow REST API 的东西,您可以在其中触发 DAG 运行。但是,如果我理解正确的话,对于 Prefect,您需要将 Prefect 库合并到您自己的服务(Django 等)中,对吧?
    • Prefect 公开了一个 GraphQL API(也可在 Prefect Server 中使用),但 Lambda 函数需要 API 访问端点,这可能是一个棘手的网络问题,具体取决于您的设置。
    【解决方案2】:

    是的,通过 REST API,您可以使用 AWS Lambda 触发它,并且可以 使用 CloudWatch Events Rule 安排 AWS Lambda 触发器,它 支持固定速率或冠表达式调度器

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-10-17
      • 2020-06-10
      • 1970-01-01
      • 2021-01-06
      • 1970-01-01
      • 2019-10-27
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多