Cómo llamar a una función de procedimiento almacenado en Airflow utilizando PostgresOperator
No estoy seguro de cómo llamar a un procedimiento almacenado en el operador de Airflow, por ejemplo: el procedimiento almacenado es: Call goal.dba.sp_ctrl_calendar()
Mi código:
from airflow.operators.postgres_operator import PostgresOperator
sp_ctrl_calendar = PostgresOperator(
task_id = 'sp_ctrl_calendar',
sql = 'goal.dba.sp_ctrl_calendar(); end;',
postgres_conn_id = 'redshift',
autocommit = True)
¿Es este enfoque correcto?
davy.ai
El enfoque parece correcto. En el código, has importado
PostgresOperator
deairflow.operators.postgres_operator
, que es el operador correcto para llamar a procedimientos almacenados en Airflow.También has pasado los parámetros necesarios que incluyen
task_id
,sql
,postgres_conn_id
yautocommit
. En el parámetrosql
, has escrito la sintaxis correcta del procedimiento almacenado, por lo que el código debería funcionar según lo esperado.Sin embargo, asegúrate de que el parámetro
postgres_conn_id
se refiere al ID de conexión correcto de PostgreSQL en la piscina de conexiones de Airflow, que se puede configurar en la interfaz web de Airflow.