Извлеките ключевой файл JSON из сохраненного соединения типа "google_cloud_platform" - PullRequest
0 голосов
/ 04 ноября 2019

Я сохранил соединение типа "google_cloud_platform" в Airflow, как описано здесь https://cloud.google.com/composer/docs/how-to/managing/connections

Теперь в моей DAG мне нужно извлечь из сохраненного соединения ключевой файл JSON

Чтоправильный крючок для использования?

Ответы [ 2 ]

1 голос
/ 04 ноября 2019

Используйте 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')
1 голос
/ 04 ноября 2019

Вы можете просто использовать 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"]
...