# Чтение файла из Yandex Object Storage

Используйте [направленный ациклический граф (DAG)](../concepts/index.md#about-the-service) для чтения файлов из Yandex Object Storage сервисного аккаунта, который привязан к кластеру Apache Airflow™.

## Подготовьте DAG-файл и запустите граф {#dag}

1. Создайте локально файл с именем `read_file_from_dags_bucket.py` и скопируйте в него скрипт:

   ```python
   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()
   ```

1. Загрузите DAG-файл `read_file_from_dags_bucket.py` в созданный ранее бакет. В результате одноименный граф появится в веб-интерфейсе Apache Airflow™ автоматически.
1. [Откройте веб-интерфейс Apache Airflow™](af-interfaces.md#web-gui).
1. Убедитесь, что в разделе **Dags** появился новый граф `read_file_from_dags_bucket`.

   Загрузка DAG-файла из бакета может занять несколько минут.

1. Чтобы запустить граф, в строке с его именем нажмите кнопку ![image](../../_assets/managed-airflow/trigger-dag.png =18x).

## Проверьте результат {#check-result}

Чтобы проверить результат в веб-интерфейсе Apache Airflow™:

{% list tabs group=instructions %}
   
- Версия Apache Airflow™ ниже 3.0 {#version-2}

  1. В разделе **DAGs** нажмите на граф `read_file_from_dags_bucket`.
  1. Перейдите в раздел **Graph**.
  1. Выберите задание **read_file**.
  1. Перейдите в раздел **Logs**.
  1. Убедитесь, что в логах есть строка `file content: {content}`, где `content` — содержимое файла. Это значит, что запрос выполнен успешно.

- Версия Apache Airflow™ 3.0 и выше {#version-3}

  1. В разделе **Dags** нажмите на граф `read_file_from_dags_bucket`.
  1. Перейдите в раздел **Tasks**.
  1. Выберите задание **read_file**.
  1. Перейдите в раздел **Task Instances**.
  1. Выберите экземпляр задания.
  1. Откроется раздел **Logs**.
  1. Убедитесь, что в логах есть строка `file content: {content}`, где `content` — содержимое файла. Это значит, что запрос выполнен успешно.

{% endlist %}