Cloud Composer 1 |Cloud Composer 2 |Cloud Composer 3
本页介绍了如何从 DAG 连接到 Compute Engine 虚拟机。
创建连接到 Compute Engine 虚拟机实例的 DAG
在 SSHOperator
的 ssh_hook
参数中,将 ComputeEngineSSHHook
与指向 Compute Engine 虚拟机的参数搭配使用。
以下示例演示了如何使用
SSHOperator
,用于在
Compute Engine 虚拟机实例
替换值:
- 将
GCE_INSTANCE
替换为虚拟机实例的名称。 - 将
GCE_ZONE
替换为 Compute Engine 区域,其中 虚拟机所在的目录 GCP_PROJECT_ID
为虚拟机和运行 DAG 的环境所在项目的项目 ID。
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)