-
[Airflow] Connection을 이용하여 외부 서비스와 연동하기데이터 엔지니어링/AirFlow 2022. 6. 26. 20:15반응형
SimpleHttpOperator를 이용한 방법에 대해 알아보자, SimpleHttpOperator를 사용하기 위해서는 provider를 설치해야한다. provider airflow 1.x 버전에서는 내장 되어있었지만 2.x 버전으로 오면서 설치해서 사용하여야한다.
Http provider 설치
pip install apache-airflow-providers-http
Http provider 사용하기
from airflow.providers.http.operators.http import SimpleHttpOperator # 기본적으로 Http호출하는 Operator extract_gorest = SimpleHttpOperator( task_id='extract_gorest', http_conn_id='GoRest', # connection에 type을 http로 정의한 conntion id endpoint='v2/users', # connection에 정의하고 나머지 주소 method='GET', # rest api method response_filter=lambda res: json.loads(res.text), # response를 어떻게 가져올지 정의 python 함수로 정의 log_response=True # true로 정의하면 web ui에 log에서 logging을 남김 )
Connection이란?
외부와 연동하기 위해서 설정해야하는 기본 정보라고 보면 된다.
Connection 설정하기
Connections탭을 클릭하여 들어가기
+버튼 클릭 하여 추가
Http 호출이기 때문에 type 정의 host에 해당 api 주소 정의
save를 누르면 connection이 만들어진 것을 볼 수 있음
아래는 go rest 홈페이지에서 현재 users로 정의 되어있는 json데이터
DAG를 실행 시켜보면
jsondata가 logging이 된것을 볼 수 있음
반응형'데이터 엔지니어링 > AirFlow' 카테고리의 다른 글
[Airflow] Executor의 종류와 사용가이드라인 알아보기(Sequential, Local, Celery, Kubernetes) (0) 2022.08.18 [Airflow]variables를 이용한 전역변수 설정 (0) 2022.06.27 [Airflow]Pool 을 이용하여 메모리 사용량 제한하기 (0) 2022.06.26 [Airflow]Xcom을 이용한 task 간 데이터 주고 받기 (0) 2022.06.26 [Airflow 실습] Trigger를 이용하여 다른 DAG를 실행하기 (0) 2022.06.24