Cloud Composer 3 | Cloud Composer 2 | Cloud Composer 1
本頁說明如何從 DAG 連線至 Compute Engine VM。
建立可連線至 Compute Engine VM 執行個體的 DAG
在 SSHOperator
的 ssh_hook
參數中,使用 ComputeEngineSSHHook
搭配指向 Compute Engine VM 的參數。
以下範例說明如何使用 SSHOperator
在 Compute Engine VM 執行個體上執行指令。
替換值:
GCE_INSTANCE
與 VM 執行個體名稱。GCE_ZONE
替換為 VM 所在的 Compute Engine 可用區。GCP_PROJECT_ID
與專案的 Project ID 搭配使用,其中包含執行 DAG 的 VM 和環境。
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)