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