擅长:python、mysql、java
<p>您可以使用Cloud Composer(气流)并重新利用大部分现有设置</p>
<p>首先,您可以保留所有现有的云函数,并使用<a href="https://cloud.google.com/functions/docs/calling/http" rel="nofollow noreferrer">HTTP triggers</a>(或您喜欢的其他函数)在气流中触发它们。您需要做的唯一更改是在Airflow中实现一个<a href="https://airflow.apache.org/docs/stable/_modules/airflow/contrib/sensors/pubsub_sensor.html" rel="nofollow noreferrer">PubSub Sensor</a>,这样它就触发了您的云功能(因此确保您可以从流程的一端到另一端控制编排)</p>
<p>您的解决方案将是一个Airflow<a href="https://airflow.apache.org/docs/stable/concepts.html#dags" rel="nofollow noreferrer">DAG</a>,它根据PubSub消息触发云函数,如果函数成功,则向Airflow报告,如果两者都成功,则使用HTTP触发器或类似触发器触发第三个云函数,相同</p>
<p>最后一个注释,不是直观的。气流不是为了运行作业本身,而是为了协调和管理依赖关系。使用由气流触发的云功能并不是一种反模式,实际上是一种最佳实践</p>
<p>在您的情况下,您可以100%重写一些内容并使用BigQuery操作符,因为您不做任何处理,只触发查询/作业,但这一概念仍然是正确的,最佳做法是利用气流确保事情在需要的时间和顺序发生,而不是自行处理这些内容。(希望有道理)</p>