Честно говоря, я считаю, что Airflow не предназначен для выполнения команд gcloud
. Если оператора нет, то лучше использовать Google API совместно с PythonOperator
.
Если вы действительно хотите использовать команды gcloud
, вам необходимо установить gcloud
SDK в свой экземпляр Airflow: https://cloud.google.com/sdk/docs/downloads-interactive#silent. Он довольно тяжелый, поэтому, если у вас есть Airflow как услуга, его развертывание займет больше времени.
В конце концов, вам нужно будет авторизоваться - существует вариант service-account
, который может быть оптимальным для вас: https://cloud.google.com/sdk/gcloud/reference/auth/activate-service-account.
Вам нужно будет поставить service-account
в безопасном месте, например HDFS
(если у вас кластер). Для локальных целей он может храниться локально.
Если вы закончили авторизацию, просто используйте BashOperator
, чтобы делать то, что вы хотите - у вас установлен gcloud
в вашем Airflow.