由于Google Cloud Composer使用Cloud Storage存储Apache Airflow DAG。但是,运算符存储在哪里?我收到如下错误:
损坏的DAG:[/home/airflow/gcs/dags/example_pubsub_flow.py]无法导入名称PubSubSubscriptionCreateOperator。
答案 0 :(得分:1)
此操作员已添加到 Airflow 1.10.0 中。截至今天,Cloud Composer仍在使用 Airflow 1.9.0 ,因此该操作器尚不可用。您可以将其添加为插件。
答案 1 :(得分:1)
显然,根据this message in the Composer Google Group列表中的以下帖子,要作为插件安装,不需要contrib来添加Plugin样板。 通过以下命令注册插件就足够了:
gcloud beta composer environments storage plugins import --environment dw --location us-central1 --source=custom_operators.py
有关详细信息,请参见here。
缺点是,如果您的contrib运算符使用了其他运算符,则您还必须使用以下命令复制它们并修改它们在python中的导入方式:
from my_custom_operator import MyCustomOperator
代替:
from airflow.contrib.operators.my_custom_operator import MyCustomOperator