Cloud Composer 1 | Cloud Composer 2 | Cloud Composer 3
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 paramètre ssh_hook
de SSHOperator
, utilisez
ComputeEngineSSHHook
avec des paramètres pointant 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 :
GCE_INSTANCE
par le nom de l'instance de VM.GCE_ZONE
par la zone Compute Engine où où se trouve la VM.GCP_PROJECT_ID
par l'ID du 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(2022, 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
- Découvrez comment résoudre les problèmes liés aux DAG.