更新Google工作表后随时触发气流触发DAG

时间:2020-10-01 08:31:01

标签: python google-cloud-platform airflow directed-acyclic-graphs

有什么办法可以安排在更新Google工作表之后立即触发DAG吗?

不确定是否从此文档得到任何答案:https://airflow.readthedocs.io/en/latest/_api/airflow/providers/google/suite/hooks/sheets/index.html

2 个答案:

答案 0 :(得分:2)

您可以将HTTPOperator与Google驱动器API https://developers.google.com/drive/api/v3/reference/files/get一起使用

您也可以编写自己的实现,请参阅WebHDFSHook和WebHDFSSensor以获取参考

答案 1 :(得分:2)

@Alejandro的方向是正确的,但只是扩大其答案。您可以使用HttpSensor运算符通过google drive api

对工作表文件进行获取请求
HttpSensor(
    task_id='http_sensor_check',
    http_conn_id='http_default',
    endpoint='https://www.googleapis.com/drive/v3/files/fileId',
    request_params={},
    response_check=,
    poke_interval=5,
    dag=dag,
)

现在,根据返回响应documentation,它应该返回modeifiedtime,您可以在response_check的响应中看到

response_check=lambda response: response.json()['modifiedTime'] > last_time_stored

您可以替换此lambda并从Db或缓存等中获取价值。

在以下时间触发:: 现在,您可以结合使用下一个运算符和该传感器来有条件地触发。

注意:这里的poke_Interval取决于用例,您要检查修改的频率。