airflow
Airflow™ is a platform created by the community to programmatically author, schedule and monitor workflows.
데이터 파이프라인을 위한 오픈 소스 워크플로우 관리 플랫폼입니다.
Python으로 작성된 DAG를 워크플로우 형태로 실행 할 수 있습니다.
pip으로 간단하게 설치하고, 관리를 위한 WEB을 제공합니다.
[설치 방법]
Connections
Airflow의 Connection는 외부 서비스에 연결하는데 필요한 자격 증명 및 기타 정보를 저장하는데 사용됩니다.
연결 정보는 아래의 방법으로 정의 할 수 있습니다.
- Environment variables
- Secrets Backend
- Airflow metadata database
Environment variables
JSON 또는 URI 형식의 환경 변수로 정의합니다. [상세]
JSON 형식
export AIRFLOW_CONN_MY_PROD_DATABASE='{
"conn_type": "my-conn-type",
"login": "my-login",
"password": "my-password",
"host": "my-host",
"port": 1234,
"schema": "my-schema",
"extra": {
"param1": "val1",
"param2": "val2"
}
}'
URI 형식
export AIRFLOW_CONN_MY_PROD_DATABASE='my-conn-type://login:password@host:port/schema?param1=val1¶m2=val2'
Secrets Backend
Airflow와 연동되는 서비스의 공급자를 통해 연결 정보를 정의합니다. [상세]
지원하는 제공자는 다음과 같습니다.
Amazon
- SecretsManagerBackend
- SystemsManagerParameterStoreBackend
- CloudSecretManagerBackend
Hashicorp
- VaultBackend
Microsoft Azure
- AzureKeyVaultBackend
Airflow metadata database
데이터베이스에 연걸 정보를 저장합니다.
UI로 연결 만들기
- Admin->Connections를 클릭하여 연결 관리 화면으로 이동합니다.
- [Add a New recode] 버튼을 클릭하여 새연결 생성하기 화면으로 이동합니다.
- 연결 정보를 입력하고 [Save] 버튼을 클릭합니다.
Connection Type missing? Make sure you’ve installed the corresponding Airflow Provider Package.
필요 시 Airflow Provider를 추가합니다.
Providers packages reference
CLI로 연결 추가하기
CLI에서 JSON형식으로 연결을 추가 할 수 있습니다.
airflow connections add 'my_prod_db' \
--conn-json '{
"conn_type": "my-conn-type",
"login": "my-login",
"password": "my-password",
"host": "my-host",
"port": 1234,
"schema": "my-schema",
"extra": {
"param1": "val1",
"param2": "val2"
}
}'