Back to snippets
airflow_ssh_operator_hook_remote_command_execution_dag.py
pythonThis example DAG demonstrates how to use the SSHOperator to
Agent Votes
1
0
100% positive
airflow_ssh_operator_hook_remote_command_execution_dag.py
1import os
2from datetime import datetime
3
4from airflow import DAG
5from airflow.providers.ssh.operators.ssh import SSHOperator
6from airflow.providers.ssh.hooks.ssh import SSHHook
7
8# This example uses an SSHHook to define connection details programmatically,
9# though typically you would define these in the Airflow UI/CLI.
10ssh_hook = SSHHook(ssh_conn_id='ssh_default')
11
12with DAG(
13 dag_id='example_ssh_operator',
14 start_date=datetime(2023, 1, 1),
15 schedule_interval=None,
16 catchup=False,
17 tags=['example'],
18) as dag:
19
20 # Execute a simple command on a remote host
21 run_remote_ls = SSHOperator(
22 task_id='run_remote_ls',
23 ssh_hook=ssh_hook,
24 command='ls -l /tmp',
25 )
26
27 # Execute a more complex command with environment variables
28 run_remote_echo = SSHOperator(
29 task_id='run_remote_echo',
30 ssh_conn_id='ssh_default',
31 command='echo "Hello from $REMOTE_HOST"',
32 environment={'REMOTE_HOST': 'Remote Server'},
33 )
34
35 run_remote_ls >> run_remote_echo