에어플로우 기본 설정은 REST API 로 접속하면 거부하게 설정이 되어 있습니다.
airflow.cfg 설정의 REST API 접근 오류
# 명령어로 현재 설정 상태 확인
$ airflow config get-value api auth_backend
airflow.api.auth.backend.deny_all
# airflow.cfg의 설정 확인
auth_backend = airflow.api.auth.backend.deny_all
# rest api 호출시 오류
$ curl http://0.0.0.0:8080/api/v1/dags/example/dagRuns
{
"detail": null,
"status": 401,
"title": "Unauthorized",
"type": "https://airflow.apache.org/docs/2.0.1/stable-rest-api-ref.html#section/Errors/Unauthenticated"
}
airflow.cfg 설정 변경
다음과 같이 설정을 변경하여 rest api 가 동작하는 것을 확인할 수 있습니다.
명령을 실행할 때 아이디와 암호를 함께 전달하는 것을 잊으면 안됩니다.
# airflow.cfg 설정 변경
auth_backend = airflow.api.auth.backend.basic_auth
# 동작 확인
# --user 로 접속 아이디와 암호를 전달해야 함
curl -X GET --user "admin:admin" http://0.0.0.0:8080/api/v1/dags/example/dagRuns
{
"dag_runs": [
{
"conf": {},
"dag_id": "example",
"dag_run_id": "manual__2021-10-06T01:46:55+00:00",
"end_date": "2021-10-06T01:46:57.489372+00:00",
"execution_date": "2021-10-06T01:46:55+00:00",
"external_trigger": true,
"start_date": "2021-10-06T01:46:55.380066+00:00",
"state": "success"
},
{
"conf": {},
"dag_id": "example",
"dag_run_id": "manual__2021-10-06T03:57:48+00:00",
"end_date": "2021-10-06T03:57:51.266804+00:00",
"execution_date": "2021-10-06T03:57:48+00:00",
"external_trigger": true,
"start_date": "2021-10-06T03:57:48.205345+00:00",
"state": "success"
}
],
"total_entries": 2
}
반응형
'빅데이터 > airflow' 카테고리의 다른 글
[airflow] PythonOperator에서 TypeError: function() got an unexpected keyword argument 'conf' 오류 (0) | 2021.11.25 |
---|---|
[airflow] BashOperator에서 jinja2.exceptions.TemplateNotFound: 오류 (1) | 2021.11.18 |
[airflow] 에어플로우 설치 (0) | 2021.10.14 |
[airflow] 에어플로우 컨셉(airflow concepts) (0) | 2020.08.02 |
[airflow] 워크플로우 모니터링 플랫폼 - apache airflow (0) | 2019.09.09 |