web-dev-qa-db-ja.com

Airflow APIを介して接続を作成/変更する方法はありますか

を通過する Admin -> Connections、接続のパラメータを作成/変更する機能がありますが、プログラムで接続を設定できるようにAPIを介して同じことができるかどうか疑問に思っています

airflow.models.Connectionは、リストに保存するのではなく、実際にインスタンスに接続することだけを扱っているようです。実装すべき関数のように思えますが、この特定の関数のドキュメントがどこにあるかはわかりません。

11
JChao

接続は実際には、新しい接続の照会と挿入に使用できるモデルです

from airflow import settings
from airflow.models import Connection
conn = Connection(
        conn_id=conn_id,
        conn_type=conn_type,
        Host=host,
        login=login,
        password=password,
        port=port
) #create a connection object
session = settings.Session() # get the session
session.add(conn)
session.commit() # it will insert the connection object programmatically.
18
mad_

Python/Airflowコードの外部、bash、Dockerfileなどで接続を行う必要がある場合は、Airflow CLIから接続を追加、削除、リストすることもできます。

airflow connections --add ...

使用法:

airflow connections [-h] [-l] [-a] [-d] [--conn_id CONN_ID]
                    [--conn_uri CONN_URI] [--conn_extra CONN_EXTRA]
                    [--conn_type CONN_TYPE] [--conn_Host CONN_Host]
                    [--conn_login CONN_LOGIN] [--conn_password CONN_PASSWORD]
                    [--conn_schema CONN_SCHEMA] [--conn_port CONN_PORT]

https://airflow.Apache.org/cli.html#connections

現在、CLIが既存の接続の変更をサポートしているようには見えませんが、GitHubでアクティブなオープンPRを使用したJiraの問題があります。

5
Taylor Edmiston