Есть ли способ запустить SnowflakeOperator, SnowflakeHook локально в скрипте, отличном от Airflow?

У меня есть несколько групп DAG, которые используют SnowflakeOperator и SnowflakeHook. Оба они подключаются к Snowflake, используя ввод, который я сохранил в Admin > Connections.

      SnowflakeHook(
    snowflake_conn_id="snowflake_connection",
    database='SOME_DB',
    schema='PUBLIC'
)

Хотя эта схема работает в среде Airflow, я хочу запускать код как обычный скрипт на моем компьютере определения местоположения. Но он не может получить доступ к этому snowflake_connection, который я сохранил в Airflow. Есть ли способ обойти это?

Есть ли способ предоставить строку подключения или имя пользователя / пароль напрямую в SnowflakeHook а также SnowflakeOperator сделать соединение с базой данных?

1 ответ

Вы можете издеваться над соединением.

      
conn = Connection(
    conn_type="gcpssh",
    login="cat",
    host="conn-host",
)
conn_uri = conn.get_uri()
with mock.patch.dict("os.environ", AIRFLOW_CONN_MY_CONN=conn_uri):
    assert "cat" == Connection.get("my_conn").login

Подробнее см.: Имитация переменных и соединений .

Другие вопросы по тегам