es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

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?

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    El enfoque parece correcto. En el código, has importado PostgresOperator de airflow.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 y autocommit. En el parámetro sql, 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.

Comments are closed.