有什么办法可以安排在更新Google工作表之后立即触发DAG吗?
不确定是否从此文档得到任何答案:https://airflow.readthedocs.io/en/latest/_api/airflow/providers/google/suite/hooks/sheets/index.html
答案 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取决于用例,您要检查修改的频率。