MssqlHook подключение воздушного потока

Я новичок в использовании воздушного потока, и мне нужно использовать MssqlHook, но я не знаю как. Какие элементы я должен дать в конструкторе?

У меня есть соединение в потоке воздуха с именем connection_test.

Я не полностью понимаю атрибуты в классе:

class MsSqlHook(DbApiHook):
    """
    Interact with Microsoft SQL Server.
    """

    conn_name_attr = 'mssql_conn_id'
    default_conn_name = 'mssql_default'
    supports_autocommit = True

У меня есть следующий код:

sqlhook=MsSqlHook(connection_test)
sqlhook.get_conn()

И когда я делаю это, ошибка не удается подключиться по неизвестной причине.

Как мне сделать, чтобы он работал с подключением воздушного потока?

Мне нужно вызвать функцию.get_conn() для MsSqlHook.

1 ответ

Решение

Смотрите стандартные примеры Airflow.

https://github.com/gtoonstra/etl-with-airflow/blob/master/examples/mssql-example/dags/mssql_bcp_example.py

Например:

t1 = MsSqlImportOperator(task_id='import_data',
                         table_name='test.test',
                         generate_synth_data=generate_synth_data,
                         mssql_conn_id='mssql',
                         dag=dag)

РЕДАКТИРОВАТЬ

hook = MsSqlHook(mssql_conn_id="my_mssql_conn")
hook.run(sql)

Вы должны предоставить соединение, определенное в Соединениях. Кроме того, при использовании хуков поиск в соответствующих операторах обычно дает некоторую информацию об использовании. Этот код от MSSQLOperator.

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