У меня есть приложение-колба, которое использует данные о воздушном потоке. Я хотел бы получить доступ к базе данных воздушного потока из моего приложения-колбы и запросить данные. Я могу выполнить необработанный SQL-запрос. Но у меня должно быть решение, как использовать SQLАлхимия в технике запросов.Например, если мне нужны данные таблицы DAG.Я должен быть в состоянии запустить Dag.query.all(), чтобы получить все данные dag.
Dag.query.all()
Airflow использует SQLAlchemy (в настоящее время 1.1.x для ствола Airflow 1.10) для управления своими моделями, поэтому вы можете взаимодействовать с ними и запрашивать их с помощью стандартного API SQLAlchemy, как описано вучебник.
https://docs.sqlalchemy.org/en/rel_1_1/orm/tutorial.html
Вы можете получить доступ к своей базе данных, используя стандартную строку подключения к базе данных из любого кода Python, такого как приложение Flask, как также описано в приведенном выше учебнике.
Здесь приведены примеры различных форматов URL соединения с базой данных, поддерживаемых create_engine().
create_engine()
https://docs.sqlalchemy.org/en/rel_1_1/core/engines.html#database-urls
Вы можете найти дополнительную информацию, такую как поля в конкретной модели.в файле models.py Airflow.
https://github.com/apache/incubator-airflow/blob/master/airflow/models.py
Дополнительную документацию по SQLAlchemy можно найти здесь.
https://docs.sqlalchemy.org/en/rel_1_1/