반응형
Notice
Recent Posts
Recent Comments
Link
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | ||||
| 4 | 5 | 6 | 7 | 8 | 9 | 10 |
| 11 | 12 | 13 | 14 | 15 | 16 | 17 |
| 18 | 19 | 20 | 21 | 22 | 23 | 24 |
| 25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 여행
- 코엑스맛집
- bigdata engineering
- 알고리즘
- Data Engineering
- 자바
- HIVE
- 코딩
- pyspark
- Kafka
- 삼성역맛집
- HDFS
- bigdata engineer
- airflow
- Linux
- 코딩테스트
- 코테
- Iceberg
- 영어
- apache iceberg
- 프로그래머스
- 백준
- 맛집
- Apache Kafka
- java
- Trino
- BigData
- Data Engineer
- hadoop
- Spark
Archives
- Today
- Total
지구정복
[Airflow] Airflow REST API 사용 본문
728x90
반응형
- 1. API 사용
- 1.1. DAG관련
- 1.2. Task 관련
- 1.3. Connections & Variables
- 1.4. 로그 관련
1. API 사용
다음과 같은 형식으로 사용 가능
- 버전 정보 출력
curl -X GET "http://<your_airflow_server>:<airflow port>/api/v1/version" \
-u "username:password"
1.1. DAG관련
- 목록
curl -X GET "http://<your_airflow_server>:8080/api/v1/dags" \
-u "username:password"
- 특정 DAG 정보 조회
curl -X GET "http://<your_airflow_server>:8080/api/v1/dags/<dag_id>" \
-u "username:password"
- 특정 DAG 비/활성화
curl -X PATCH "http://<your_airflow_server>:8080/api/v1/dags/<dag_id>" \
-H "Content-Type: application/json" \
-u "username:password" \
-d '{"is_paused": false}' # 활성화
- 특정 DAG 수동으로 트리거
curl -X POST "http://<your_airflow_server>:8080/api/v1/dags/<dag_id>/dagRuns" \
-H "Content-Type: application/json" \
-u "username:password" \
-d '{"dag_run_id": "manual_trigger_1", "conf": {"key": "value"}}'
#conf는 넘겨줄 변수가 있으면 선언가능. 없으면 아래처럼
curl -X POST "http://<your_airflow_server>:8080/api/v1/dags/<dag_id>/dagRuns" \
-H "Content-Type: application/json" \
-u "username:password" \
-d '{"dag_run_id": "manual_trigger_1", "conf": {}}'
- 실행중인 특정 DAG 취소
curl -X DELETE "http://<your_airflow_server>:8080/api/v1/dags/<dag_id>/dagRuns/<dag_run_id>" \
-u "username:password"
1.2. Task 관련
- 특정 DAG의 task목록 조회
curl -X GET "http://<your_airflow_server>:8080/api/v1/dags/<dag_id>/dagRuns/<dag_run_id>/taskInstances" \
-u "username:password"
- 특정 DAG의 특정 task 정보 조회
curl -X GET "http://<your_airflow_server>:8080/api/v1/dags/<dag_id>/dagRuns/<dag_run_id>/taskInstances/<task_id>" \
-u "username:password"
- 특정 DAG의 실패되거나 스킵된 task들만 재실행
curl -X POST "http://<your_airflow_server>:8080/api/v1/dags/<dag_id>/dagRuns/<dag_run_id>/taskInstances/<task_id>/clear" \
-H "Content-Type: application/json" \
-u "username:password" \
-d '{"reset_dag_runs": false, "only_failed": true}'
1.3. Connections & Variables
- connection들 조회
curl -X GET "http://<your_airflow_server>:8080/api/v1/connections" \
-u "username:password"
- connection추가
curl -X POST "http://<your_airflow_server>:8080/api/v1/connections" \
-H "Content-Type: application/json" \
-u "username:password" \
-d '{
"connection_id": "my_connection",
"conn_type": "http",
"host": "example.com",
"port": 80
}'
- 변수 조회
curl -X GET "http://<your_airflow_server>:8080/api/v1/variables" \
-u "username:password"
- 변수 추가 및 업데이트
curl -X POST "http://<your_airflow_server>:8080/api/v1/variables" \
-H "Content-Type: application/json" \
-u "username:password" \
-d '{"key": "my_variable", "value": "my_value"}'
- 변수 삭제
curl -X DELETE "http://<your_airflow_server>:8080/api/v1/variables/my_variable" \
-u "username:password"
1.4. 로그 관련
- 특정 task의 로그 조회
curl -X GET "http://<your_airflow_server>:8080/api/v1/dags/<dag_id>/dagRuns/<dag_run_id>/taskInstances/<task_id>/logs" \
-u "username:password"
- 특정 task의 몇 번째 시도의 로그 조회
curl -X GET "http://<your_airflow_server>:8080/api/v1/dags/<dag_id>/dagRuns/<dag_run_id>/taskInstances/<task_id>/logs/0" \
-u "username:password"
728x90
반응형
'데이터 엔지니어링 정복 > Airflow' 카테고리의 다른 글
| [Airflow] DAG를 정의하는 3가지 방법 (0) | 2026.09.29 |
|---|---|
| [Airflow] DAG 디렉터리 설정방법 (0) | 2026.09.29 |
| [Airflow] Airflow Flower | Hook | Task Group | Xcom | Branching | provider (0) | 2025.12.26 |
| [Airflow] Airflow Assets (0) | 2025.11.30 |
| [Airflow] SqoopOperator (0) | 2025.07.02 |
Comments