Airflow géré (3e génération) | Airflow géré (2e génération) | Airflow géré (1re génération héritée)
Cette page explique comment se connecter à une VM Compute Engine à partir d'un DAG.
Créer un DAG qui se connecte à une instance de VM Compute Engine
Dans le ssh_hook paramètre de SSHOperator, utilisez
ComputeEngineSSHHook avec des paramètres qui pointent vers
la VM Compute Engine.
L'exemple suivant montre comment utiliser
SSHOperator pour exécuter une commande sur une
instance de VM Compute Engine.
Remplacez les valeurs suivantes :
GCE_INSTANCEpar le nom de l'instance de VM.GCE_ZONEpar la zone Compute Engine dans laquelle se trouve la VM.GCP_PROJECT_IDpar l'ID de projet d'un projet dans lequel se trouvent la VM et l'environnement qui exécute le DAG.
import datetime
import airflow
from airflow.providers.ssh.operators.ssh import SSHOperator
from airflow.providers.google.cloud.hooks.compute_ssh import ComputeEngineSSHHook
GCE_INSTANCE = 'example-compute-instance'
GCE_ZONE = 'us-central1-a'
GCP_PROJECT_ID = 'example-project'
with airflow.DAG(
'composer_compute_ssh_dag',
start_date=datetime.datetime(2025, 1, 1)
) as dag:
ssh_task = SSHOperator(
task_id='composer_compute_ssh_task',
ssh_hook=ComputeEngineSSHHook(
instance_name=GCE_INSTANCE,
zone=GCE_ZONE,
project_id=GCP_PROJECT_ID,
use_oslogin=True,
use_iap_tunnel=False,
use_internal_ip=True),
command='echo This command is executed from a DAG',
dag=dag)
Étape suivante
- Ajouter et mettre à jour des DAG
- Planifier et déclencher des DAG
- Résoudre les problèmes liés aux DAG