Чтение файла из Yandex Object Storage
Статья создана
Обновлена 8 октября 2025 г.
Используйте направленный ациклический граф (DAG) для чтения файлов из Yandex Object Storage сервисного аккаунта, который привязан к кластеру Apache Airflow™.
Подготовьте DAG-файл и запустите граф
-
Создайте локально файл с именем
read_file_from_dags_bucket.pyи скопируйте в него скрипт:from airflow.settings import DAGS_FOLDER from airflow.decorators import dag, task @dag(schedule=None) def read_file_from_dags_bucket(): @task def read_file(): with open(f'{DAGS_FOLDER}/data/airflow.txt') as file: content = file.read() print(f"file content: {content}") read_file() read_file_from_dags_bucket() -
Загрузите DAG-файл
read_file_from_dags_bucket.pyв созданный ранее бакет. В результате одноименный граф появится в веб-интерфейсе Apache Airflow™ автоматически. -
Убедитесь, что в разделе Dags появился новый граф
read_file_from_dags_bucket.Загрузка DAG-файла из бакета может занять несколько минут.
-
Чтобы запустить граф, в строке с его именем нажмите кнопку
.
Проверьте результат
Чтобы проверить результат в веб-интерфейсе Apache Airflow™:
Версия Apache Airflow™ ниже 3.0
Версия Apache Airflow™ 3.0 и выше
- В разделе DAGs нажмите на граф
read_file_from_dags_bucket. - Перейдите в раздел Graph.
- Выберите задание read_file.
- Перейдите в раздел Logs.
- Убедитесь, что в логах есть строка
file content: {content}, гдеcontent— содержимое файла. Это значит, что запрос выполнен успешно.
- В разделе Dags нажмите на граф
read_file_from_dags_bucket. - Перейдите в раздел Tasks.
- Выберите задание read_file.
- Перейдите в раздел Task Instances.
- Выберите экземпляр задания.
- Откроется раздел Logs.
- Убедитесь, что в логах есть строка
file content: {content}, гдеcontent— содержимое файла. Это значит, что запрос выполнен успешно.