MssqlHook气流连接

3 airflow

我是使用气流的新手,我需要做的是使用 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
Run Code Online (Sandbox Code Playgroud)

我有以下代码:

sqlhook=MsSqlHook(connection_test)
sqlhook.get_conn()
Run Code Online (Sandbox Code Playgroud)

当我这样做时,错误是连接失败,原因未知

我应该如何做才能使其与气流连接一起工作?

我需要的是为 MsSqlHook 调用函数 .get_conn() 。

tob*_*bi6 5

请参阅 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)
Run Code Online (Sandbox Code Playgroud)

编辑

hook = MsSqlHook(mssql_conn_id="my_mssql_conn")
hook.run(sql)
Run Code Online (Sandbox Code Playgroud)

您需要提供连接中定义的连接。此外,如果使用 Hooks,查看相应的运算符通常会产生一些有关使用情况的信息。此代码来自 MSSQLOperator。