使用 Python 3.7 将文件添加到云存储时如何使用云函数触发云作曲家 DAG

Rae*_*yed 3 python google-cloud-functions google-cloud-composer

每次将文档放入某个存储桶时,我都想启动 DAG 工作流来分析此文档。我需要使用云功能使用云存储触发器和事件类型来触发 DAG 工作流完成并创建

LEC*_*LEC 5

更新 - 截至 2019 年 9 月,文档中现在有一个 Python 示例,文档中的片段可以在GitHub找到


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

[编辑以添加 Python 特定的详细信息]

由于您需要 Python,而本文档是针对 NodeJS 的,因此您现在必须自己进行改编。在 Composer 中对 Airflow 的 API 的调用通过身份感知代理(参见此图,也显示在下面,了解更多详细信息),因此您触发 DAG 的发布请求也必须通过身份感知代理。

在此处输入图片说明

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