Python Client for running Apache Airflow CLI commands on AWS MWAA (Managed Workflows for Apache Airflow) instances.
Built to give a client like experience for MWAA, utilizing the Apache Python Client objects.
https://docs.aws.amazon.com/mwaa/latest/userguide/airflow-cli-command-reference.html
Version | Command | API |
---|---|---|
v2.2.2 | dags list | get_dags |
v2.0+ | dags pause | pause_dag |
v2.0+ | dags unpause | unpause_dag |
v2.0+ | dags show | show_dag |
v2.0+ | dags state | get_dag_state |
v2.0+ | dags trigger | new_dagrun |
v2.0+ | version | get_version |
Test locally using the following ssh tunnel configuration
ssh -D 8080 -C -N user@example.com
Create a client with proxy config session
from mwaah import MWAAH
cli = MWAAH(
'example-mwaa-environment',
boto3.client('mwaa'),
proxies={'https': 'socks5://0:8080'}
)
Create a client passing in your own session
from mwaah import MWAAH
cli = MWAAH(
'example-mwaa-environment',
boto3.client('mwaa', region_name='example-region-1')
)
print(cli.get_version())
2.2.2
from airflow_client.client.model.dag_run import DAGRun
from datetime import datetime
date = datetime.now()
run = DAGRun()._from_openapi_data(
dag_id='example_dag_id',
execution_date=date,
dag_run_id="dag_run_id_example"+date.__str__(),
conf={'key': 'val'},
)
cli.new_dagrun(run)