TL;DR#
Cloud Composerで
1
| $ airflow connections export connections.json
|
を実行したい場合、
1
2
| $ gcloud composer environments run {ENVIRONMENT_NAME} --location={LOCATION} connections export -- /home/airflow/gcs/data/connections.json
$ gsutil cat gs://{BUCKET_NAME}/data/connections.json
|
とする。
Cloud Composerに対してAirflow CLIを実行したい場合は以下のようなコマンドで実行できる。
1
| $ gcloud composer environments run {ENVIRONMENT_NAME} --location={LOCATION} [COMMAND] -- [SUBCOMMAND]
|
しかしこの方法はCloud ComposerのバックエンドであるGKEにPodを立ち上げてAirflow CLIを実行しているため、
1
| $ airflow connections export connections.json
|
のように手元にファイルを保存するコマンドを使うことができない。(Podの中にファイルが生成され、終了とともに消えてしまう)
Cloud Composerは /home/airflow/gcs
にGCSをマウントしているため、そこにファイルを出力するようにすればOK。
1
2
| $ gcloud composer environments run {ENVIRONMENT_NAME} --location={LOCATION} connections export -- /home/airflow/gcs/data/connections.json
$ gsutil cat gs://{BUCKET_NAME}/data/connections.json
|