【问题标题】:How to trigger cloud composer DAG using cloud function when a file is added to cloud storage using Python 3.7使用 Python 3.7 将文件添加到云存储时如何使用云函数触发云作曲家 DAG
【发布时间】:2019-12-23 17:50:57
【问题描述】:

每次将文档放入某个存储桶时,我都想启动 DAG 工作流来分析该文档。 我需要使用 Cloud storage trigger 和事件类型 Finalize and create

使用云功能触发 DAG 工作流程

【问题讨论】:

    标签: python google-cloud-functions google-cloud-composer


    【解决方案1】:

    更新 - 截至 2019 年 9 月,the docs 中现在有一个 Python 示例,文档中的 sn-ps 可以在 GitHub 上找到。


    查看this doc,它向您展示了如何使用 Google Cloud Functions 和您在 Finalize/Create 事件中选择的存储桶来触发 DAG

    [编辑添加 Python 特定细节]

    由于您需要 Python,并且此文档适用于 NodeJS,因此您现在必须自己进行改编。在 Composer 中对 Airflow 的 API 的调用通过身份感知代理(请参阅this diagram,了解更多详细信息),因此您触发 DAG 的发布请求也必须通过身份感知代理。

    幸运的是,在 python-docs-samples 示例 repo 中有一个 great Python example 用于向 IAP 发出 post 请求。如果您将该脚本复制到您的存储库中并使用与 NodeJS (this script) 相同的步骤获取您的客户端 ID,它应该像 NodeJS 一样触发 DAG。

    【讨论】:

    • 我知道这个文档,但它是用 JS 编写的,我尝试将其转换为 python,但失败了。
    • 对此感到抱歉 - 我原以为 Python 3.7 是针对底层 Composer 的,但现在意识到它是针对 GCF 的。我会用更多资源更新我原来的帖子。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-06-25
    • 2021-10-21
    • 2021-02-14
    • 2021-04-25
    • 2020-04-19
    • 2017-12-21
    相关资源
    最近更新 更多