Я сохранил соединение типа "google_cloud_platform" в Airflow, как описано здесь https://cloud.google.com/composer/docs/how-to/managing/connections
Теперь в моей DAG мне нужно извлечь из сохраненного соединения ключевой файл JSON
Чтоправильный крючок для использования?
Используйте airflow.contrib.hooks.gcp_api_base_hook.GoogleCloudBaseHook для получения сохраненного соединения. Например
airflow.contrib.hooks.gcp_api_base_hook.GoogleCloudBaseHook
from airflow.contrib.hooks.gcp_api_base_hook import GoogleCloudBaseHook gcp_hook = GoogleCloudBaseHook(gcp_conn_id="<your-conn-id>") keyfile_dict = gcp_hook._get_field('keyfile_dict')
Вы можете просто использовать BaseHook следующим образом:
BaseHook
from airflow.hooks.base_hook import BaseHook GCP_CONNECTION_ID="my-gcp-connection" BaseHook.get_connection(GCP_CONNECTION_ID).extras["extra__google_cloud_platform__keyfile_dict"]