View a markdown version of this page

Referensi perintah Apache Airflow CLI - Amazon Managed Workflows for Apache Airflow

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Referensi perintah Apache Airflow CLI

Topik ini menjelaskan perintah Apache Airflow CLI yang didukung dan tidak didukung pada Alur Kerja Terkelola Amazon untuk Apache Airflow.

Tip

REST API lebih modern daripada CLI dan dirancang untuk integrasi terprogram dengan sistem eksternal. REST adalah cara yang lebih disukai untuk berinteraksi dengan Apache Airflow.

Prasyarat

Bagian berikut menjelaskan langkah-langkah awal yang diperlukan untuk menggunakan perintah dan skrip di halaman ini.

Akses

AWS CLI

AWS Command Line Interface (AWS CLI) adalah alat sumber terbuka yang dapat Anda gunakan untuk berinteraksi dengan AWS layanan menggunakan perintah di shell baris perintah Anda. Untuk menyelesaikan langkah-langkah di halaman ini, Anda memerlukan yang berikut:

Apa yang berubah?

  • v3: Arsitektur aliran udara. Apache Airflow v3 memperkenalkan perubahan arsitektur yang luar biasa untuk memberikan peningkatan keamanan dan skalabilitas, dan untuk mempermudah pemeliharaan. Untuk mempelajari lebih lanjut, lihat Up grade To Airflow 3.

  • v2: Struktur perintah CLI aliran udara. Apache Airflow v2 CLI diatur sedemikian rupa sehingga perintah terkait dikelompokkan bersama sebagai subperintah, yang berarti Anda perlu memperbarui skrip Apache Airflow v1 jika Anda ingin meningkatkan ke Apache Airflow v2. Misalnya, unpause di Apache Airflow v1 ada dags unpause di Apache Airflow v2. Untuk mempelajari lebih lanjut, lihat Perubahan Airflow CLI di 2.0.

Perintah CLI yang didukung

Bagian berikut mencantumkan perintah Apache Airflow CLI yang tersedia di Amazon MWAA.

Perintah yang Didukung

Apache Airflow v3
Versi minor Perintah

v3.0.6, v3.2.1, v3.3.1

rincian aset

v3.0.6, v3.2.1, v3.3.1

daftar aset

v3.0.6, v3.2.1, v3.3.1

aset terwujud

v3.0.6, v3.2.1, v3.3.1

isi ulang buat

v3.0.6, v3.2.1, v3.3.1

lembar curang

v3.0.6, v3.2.1, v3.3.1

koneksi tambahkan

v3.0.6, v3.2.1, v3.3.1

koneksi hapus

v3.0.6, v3.2.1, v3.3.1

hari ini hapus

v3.0.6, v3.2.1, v3.3.1

daftar hari

v3.0.6, v3.2.1, v3.3.1

daftar pekerjaan hari ini

v3.0.6, v3.2.1, v3.3.1

kesalahan daftar impor hari ini

v3.0.6, v3.2.1, v3.3.1

day list-run

v3.0.6, v3.2.1, v3.3.1

eksekusi berikutnya hari

v3.0.6, v3.2.1, v3.3.1

jeda hari

v3.0.6, v3.2.1, v3.3.1

laporan hari

v3.0.6, v3.2.1, v3.3.1

hari ini reserialize

v3.0.6, v3.2.1, v3.3.1

pertunjukan hari ini

v3.0.6, v3.2.1, v3.3.1

status hari ini

v3.0.6, v3.2.1, v3.3.1

tes hari

v3.0.6, v3.2.1, v3.3.1

pemicu hari ini

v3.0.6, v3.2.1, v3.3.1

hari unpause

v3.0.6, v3.2.1, v3.3.1

db bersih

v3.0.6, v3.2.1, v3.3.1

perilaku penyedia

v3.0.6, v3.2.1, v3.3.1

penyedia mendapatkan

v3.0.6, v3.2.1, v3.3.1

pengait penyedia

v3.0.6, v3.2.1, v3.3.1

tautan penyedia

v3.0.6, v3.2.1, v3.3.1

daftar penyedia

v3.0.6, v3.2.1, v3.3.1

pemberitahuan penyedia

v3.0.6, v3.2.1, v3.3.1

rahasia penyedia

v3.0.6, v3.2.1, v3.3.1

pemicu penyedia

v3.0.6, v3.2.1, v3.3.1

widget penyedia

v3.0.6, v3.2.1, v3.3.1

peran penambahan perms

v3.0.6, v3.2.1, v3.3.1

role del-perms

v3.0.6, v3.2.1, v3.3.1

peran membuat

v3.0.6, v3.2.1, v3.3.1

daftar peran

v3.0.6, v3.2.1, v3.3.1

tugas jelas

v3.0.6, v3.2.1, v3.3.1

tugas gagal-deps

v3.0.6, v3.2.1, v3.3.1

daftar tugas

v3.0.6, v3.2.1, v3.3.1

tugas dirender

v3.0.6, v3.2.1, v3.3.1

status tugas

v3.0.6, v3.2.1, v3.3.1

status tugas-untuk-dag-run

v3.0.6, v3.2.1, v3.3.1

tes tugas

v3.0.6, v3.2.1, v3.3.1

variabel hapus

v3.0.6, v3.2.1, v3.3.1

variabel mendapatkan

v3.0.6, v3.2.1, v3.3.1

variabel set

v3.0.6, v3.2.1, v3.3.1

daftar variabel

v3.0.6, v3.2.1, v3.3.1

versi

Apache Airflow v2

Menggunakan perintah yang mengurai DAG

Jika lingkungan Anda menjalankan Apache Airflow v2.0.2, perintah CLI yang mengurai DAG akan gagal jika DAG menggunakan plugin yang bergantung pada paket yang diinstal melalui: requirements.txt

Apache Aliran Udara v2.0.2
  • dags backfill

  • dags list

  • dags list-runs

  • dags next-execution

Anda dapat menggunakan perintah CLI ini jika DAG Anda tidak menggunakan plugin yang bergantung pada paket yang diinstal melalui arequirements.txt.

Kode sampel

Bagian berikut berisi contoh cara yang berbeda untuk menggunakan Apache Airflow CLI.

Mengatur, mendapatkan, atau menghapus variabel Apache Airflow v2

Anda dapat menggunakan kode contoh berikut untuk mengatur, mendapatkan atau menghapus variabel dalam format<script> <mwaa env name> get | set | delete <variable> <variable value> </variable> </variable>.

[ $# -eq 0 ] && echo "Usage: $0 MWAA environment name " && exit if [[ $2 == "" ]]; then dag="variables list" elif [ $2 == "get" ] || [ $2 == "delete" ] || [ $2 == "set" ]; then dag="variables $2 $3 $4 $5" else echo "Not a valid command" exit 1 fi CLI_JSON=$(aws mwaa --region $AWS_REGION create-cli-token --name $1) \ && CLI_TOKEN=$(echo $CLI_JSON | jq -r '.CliToken') \ && WEB_SERVER_HOSTNAME=$(echo $CLI_JSON | jq -r '.WebServerHostname') \ && CLI_RESULTS=$(curl --request POST "https://$WEB_SERVER_HOSTNAME/aws_mwaa/cli" \ --header "Authorization: Bearer $CLI_TOKEN" \ --header "Content-Type: text/plain" \ --data-raw "$dag" ) \ && echo "Output:" \ && echo $CLI_RESULTS | jq -r '.stdout' | base64 --decode \ && echo "Errors:" \ && echo $CLI_RESULTS | jq -r '.stderr' | base64 --decode

Tambahkan konfigurasi saat memicu DAG

Anda dapat menggunakan kode contoh berikut dengan Apache Airflow v2 untuk menambahkan konfigurasi saat memicu DAG, sepertiairflow trigger_dag 'dag_name' —conf '{"key":"value"}'.

import boto3 import json import requests import base64 mwaa_env_name = 'YOUR_ENVIRONMENT_NAME' dag_name = 'YOUR_DAG_NAME' key = "YOUR_KEY" value = "YOUR_VALUE" conf = "{\"" + key + "\":\"" + value + "\"}" client = boto3.client('mwaa') mwaa_cli_token = client.create_cli_token( Name=mwaa_env_name ) mwaa_auth_token = 'Bearer ' + mwaa_cli_token['CliToken'] mwaa_webserver_hostname = 'https://{0}/aws_mwaa/cli'.format(mwaa_cli_token['WebServerHostname']) raw_data = "trigger_dag {0} -c '{1}'".format(dag_name, conf) mwaa_response = requests.post( mwaa_webserver_hostname, headers={ 'Authorization': mwaa_auth_token, 'Content-Type': 'text/plain' }, data=raw_data ) mwaa_std_err_message = base64.b64decode(mwaa_response.json()['stderr']).decode('utf8') mwaa_std_out_message = base64.b64decode(mwaa_response.json()['stdout']).decode('utf8') print(mwaa_response.status_code) print(mwaa_std_err_message) print(mwaa_std_out_message)

Jalankan perintah CLI pada terowongan SSH ke host bastion

Gunakan contoh berikut untuk menjalankan perintah Airflow CLI menggunakan proxy terowongan SSH ke Host Bastion Linux.

Menggunakan curl
  1. ssh -D 8080 -f -C -q -N YOUR_USER@YOUR_BASTION_HOST
  2. curl -x socks5h://0:8080 --request POST https://YOUR_HOST_NAME/aws_mwaa/cli --header YOUR_HEADERS --data-raw YOUR_CLI_COMMAND