如何将 yes 标志传递给 Google Composer 回填?

How can I pass the yes flag to backfill in Google Composer?

我正在尝试使用 gcloud composer 命令在 Google Composer 中进行回填,但我正在努力为相应的 --reset_dagruns 参数。

我得到的回复是 airflow: error: unrecognized arguments: -y

命令:

gcloud composer environments run my_env --project my_project --location us-east1 backfill -- --reset_dagruns -y -s 2020-01-01 -e 2020-01-31 my_dag

我如何提供这个论点?

在回答你的具体问题之前我有一个建议:
如果您的 DAG (my_dag) 已经指定了您需要回填的开始和结束日期,那么只需清除您需要的运行状态 backfilled/redone。然后调度程序再次拾取它们。

具体针对你的问题:
不幸的是,AirFlow CLI 文档未证明可直接与 Google Cloud Composer 一起使用,这是适用于 Composer 1.10.2

版的内容
gcloud --project=my_project composer environments run my_env --location us-east1 backfill -- my_dag --reset_dagruns -s 2020-01-01 -e 2020-01-31

请注意,这将保留您的 CLI 会话,如果您 ctrl-c 退出,这将停止,如果您的回填时间很长,您最好在dag 和设置 catchup=True

万一其他人遇到这个问题,我找不到使用 gcloud composer.

传递参数的方法

相反,我使用 gcloud container clusters get-credentials 执行 kubectl exec 以在气流调度程序上获得 bash 提示。从那里我能够使用本机气流命令来移动东西。