如何向 MySqlOperator 传递和使用参数

Sut*_*Das 5 airflow airflow-operator

给定 aMySqlOperator和 sql 查询,我如何传递 aparameter并使用它?这是我的代码不起作用。我试图将表名作为参数传递。

UPDATE_SQL = "UPDATE {table} SET version=version+1 WHERE id='x'"

update_row = MySqlOperator(
                dag=dag,
                task_id='update_row',
                mysql_conn_id=CONNECTION_ID,
                parameters={'table': 'hello_world'},
                database=MY_DATABASE,
                sql=UPDATE_SQL,
                )

Run Code Online (Sandbox Code Playgroud)

我找不到有关如何使用 Operator 中的参数的任何示例。

Ela*_*lad 4

你可以这样做:

UPDATE_SQL = "UPDATE {{ params.table }} SET version=version+1 WHERE id='x'"

update_row = MySqlOperator(
                dag=dag,
                task_id='update_row',
                mysql_conn_id=CONNECTION_ID,
                params={"table": "hello_world"},
                database=MY_DATABASE,
                sql=UPDATE_SQL,
                )
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述