Accéder au menu des connexions#
- Connectez-vous à l'interface web d'Airflow (généralement sur le port
8080). - Dans la barre de navigation supérieure, cliquez sur Admin puis sur Connections.
Ajouter une nouvelle connexion#
Cliquez sur le bouton + (Add a new record) pour ouvrir le formulaire de création. Remplissez les champs suivants :
- Connection Id :
postgres_default(C'est le nom que vous utiliserez dans votre code Python via le paramètrepostgres_conn_id). - Connection Type : Sélectionnez
Postgres. - Host : L'adresse de votre serveur (ex:
localhostou le nom du service dockerpostgres). - Schema : Le nom de votre base de données (ex:
my_database). - Login : Votre nom d'utilisateur.
- Password : Votre mot de passe.
- Port :
5432.
Note : Si vous utilisez Docker Compose, le "Host" est souvent le nom du service défini dans votre fichier YAML (par exemple postgres).
Utiliser la connexion dans un DAG#
Une fois la connexion enregistrée, vous pouvez l'appeler très simplement dans vos opérateurs. Airflow s'occupe de récupérer les secrets en arrière-plan.
from airflow.providers.common.sql.operators.sql import SQLExecuteQueryOperator as PostgresOperator
# ID 'postgres_default'
setup_table = PostgresOperator(
task_id="create_table",
postgres_conn_id="postgres_default",
sql="CREATE TABLE IF NOT EXISTS my_table (id SERIAL PRIMARY KEY, data TEXT);"
)
Pourquoi utiliser les connexions ?#
- Sécurité : Vos mots de passe ne sont pas visibles sur GitHub ou dans vos fichiers de logs.
- Portabilité : Vous pouvez avoir une connexion postgres_default sur votre environnement de test et une autre sur votre environnement de production avec le même code de DAG.
- Maintenance : Si votre mot de passe change, vous le modifiez à un seul endroit dans l'UI d'Airflow.
Félicitations ! Votre environnement est maintenant prêt à communiquer avec le monde extérieur. Dans le module suivant, nous allons mettre tout cela en pratique en créant notre premier script d'extraction de données depuis une API.
Commentaires