Я хочу создать соединение Mon go (отличное от стандартного) без использования интерфейса Airflow.
Я читаю из Документации по потоку :
Соединения в трубопроводах Airflow могут быть созданы с использованием переменных среды. Переменная окружения должна иметь префикс AIRFLOW_CONN_ для Airflow со значением в формате URI для правильного использования соединения.
При ссылке на соединение в конвейере Airflow conn_id должно быть именем переменной без префикс. Например, если conn_id называется postgres_master, переменная среды должна иметь имя AIRFLOW_CONN_POSTGRES_MASTER (обратите внимание, что переменная среды должна быть только в верхнем регистре).
Я пытался применить это при использовании Puckel docker image .
Это композиция docker, использующая это изображение:
version: '2.1'
services:
postgres:
image: postgres:9.6
environment:
- POSTGRES_USER=airflow
- POSTGRES_PASSWORD=airflow
- POSTGRES_DB=airflow
webserver:
image: puckel/docker-airflow:1.10.6
restart: always
depends_on:
- postgres
environment:
- LOAD_EX=n
- EXECUTOR=Local
- AIRFLOW_CONN_MY_MONGO=mongodb://mongo:27017
volumes:
- ./src/:/usr/local/airflow/dags
- ./requirements.txt:/requirements.txt
ports:
- "8080:8080"
command: webserver
healthcheck:
test: ["CMD-SHELL", "[ -f /usr/local/airflow/airflow-webserver.pid ]"]
interval: 30s
timeout: 30s
retries: 3
Обратите внимание на строку AIRFLOW_CONN_MY_MONGO=mongodb://mongo:27017
, где я передаю переменную среды как поток воздуха Документация предлагает.
Проблема здесь в том, что не создается my_mongo
соединение, когда я перечисляю соединения в пользовательском интерфейсе.
Любой совет? Спасибо!