Yandex Cloud
Поиск
Связаться с намиПодключиться
  • Истории успеха
  • Документация
  • Блог
  • Все сервисы
  • Статус работы сервисов
    • Популярные
    • Инфраструктура и сеть
    • Платформа данных
    • Контейнеры
    • Инструменты разработчика
    • Бессерверные вычисления
    • Безопасность
    • Мониторинг и управление ресурсами
    • ИИ для бизнеса
    • Бизнес-инструменты
  • Все решения
    • По отраслям
    • По типу задач
    • Экономика платформы
    • Безопасность
    • Техническая поддержка
    • Каталог партнёров
    • Обучение и сертификация
    • Облако для стартапов
    • Облако для крупного бизнеса
    • Центр технологий для общества
    • Облако для интеграторов
    • Поддержка IT-бизнеса
    • Облако для фрилансеров
    • Обучение и сертификация
    • Блог
    • Документация
    • Контент-программа
    • Мероприятия и вебинары
    • Контакты, чаты и сообщества
    • Идеи
    • Калькулятор цен
    • Тарифы
    • Промоакции и free tier
    • Правила тарификации
  • Истории успеха
  • Документация
  • Блог
Проект Яндекса
© 2025 ООО «Яндекс.Облако»
Yandex Managed Service for Apache Airflow™
  • Начало работы
    • Все инструкции
      • Загрузка переменной из Yandex Lockbox
      • Хранение подключений Apache Airflow™ в Yandex Lockbox
    • Работа с интерфейсами Apache Airflow™
  • Управление доступом
  • Правила тарификации
  • Справочник Terraform
  • Метрики Yandex Monitoring
  • История изменений
  • Вопросы и ответы

В этой статье:

  • Перед началом работы
  • Создайте секрет Yandex Lockbox
  • Подготовьте DAG-файл и запустите граф
  • Проверьте результат
  1. Пошаговые инструкции
  2. Хранение артефактов в Yandex Lockbox
  3. Загрузка переменной из Yandex Lockbox

Загрузка переменной из Yandex Lockbox

Статья создана
Yandex Cloud
Обновлена 8 октября 2025 г.
  • Перед началом работы
  • Создайте секрет Yandex Lockbox
  • Подготовьте DAG-файл и запустите граф
  • Проверьте результат

При работе с Yandex Managed Service for Apache Airflow™ вы можете использовать Yandex Lockbox для хранения артефактов, которые могут использоваться в DAG-файлах: подключений, переменных и конфигурационных данных. Yandex Lockbox интегрируется в Managed Service for Apache Airflow™ через провайдер Yandex Lockbox Secret Backend. В результате доступ к хранилищу секретов настраивается автоматически.

Загрузку переменной из Yandex Lockbox можно выполнить с помощью направленого ациклического графа (DAG). Данные для подключения к БД хранятся в Yandex Lockbox и автоматически подставляются в граф.

Перед началом работыПеред началом работы

Выдайте своему сервисному аккаунту роль lockbox.payloadViewer.

Роль lockbox.payloadViewer не обязательно выдавать на весь каталог. Достаточно назначить ее на конкретный секрет Yandex Lockbox после его создания.

Создайте секрет Yandex LockboxСоздайте секрет Yandex Lockbox

Для корректной работы кластера Apache Airflow™ секрет в Yandex Lockbox должен иметь имя в формате airflow/<тип_артефакта>/<идентификатор_артефакта>, где:

  • <тип_артефакта> — определяет, какие данные будут храниться в секрете. Возможные значения:
    • connections — подключения;
    • variables — переменные;
    • config — данные конфигурации.
  • <идентификатор_артефакта> — идентификатор, который будет использоваться для обращения к артефакту в Apache Airflow™.

Создайте секрет Yandex Lockbox с параметрами:

  • Имя — airflow/variables/var_query;
  • Тип секрета — Пользовательский;
  • Ключ — value;
  • Значение — SELECT 2.

В секрете airflow/variables/var_query будет сохранена переменная value со значением SELECT 2.

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

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

    from airflow.decorators import dag, task
    from airflow.models import Variable
    
    
    @dag(schedule=None)
    def load_variable_from_lockbox():
        @task
        def print_var_query():
            query = Variable.get_variable_from_secrets("var_query")
            print("query: ", query)
       
        print_var_query()
    
    
    load_variable_from_lockbox()
    
  2. Загрузите DAG-файл load_variable_from_lockbox.py в созданный ранее бакет. В результате одноименный граф появится в веб-интерфейсе Apache Airflow™ автоматически.

  3. Откройте веб-интерфейс Apache Airflow™.

  4. Убедитесь, что в разделе DAGs появился новый граф load_variable_from_lockbox.

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

  5. Чтобы запустить граф, в строке с его именем нажмите кнопку image.

Проверьте результатПроверьте результат

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

Версия Apache Airflow™ ниже 3.0
Версия Apache Airflow™ 3.0 и выше
  1. В разделе DAGs нажмите на граф load_variable_from_lockbox.
  2. Перейдите в раздел Graph.
  3. Выберите задание print_var_query.
  4. Перейдите в раздел Logs.
  5. Убедитесь, что в логах есть строка query: SELECT 2. Это значит, что запрос выполнен успешно.
  1. В разделе Dags нажмите на граф load_variable_from_lockbox.
  2. Перейдите в раздел Tasks.
  3. Выберите задание print_var_query.
  4. Перейдите в раздел Task Instances.
  5. Выберите экземпляр задания.
  6. Откроется раздел Logs.
  7. Убедитесь, что в логах есть строка query: SELECT 2. Это значит, что запрос выполнен успешно.

Была ли статья полезна?

Предыдущая
Managed Service for PostgreSQL: подключение к базе данных
Следующая
Хранение подключений Apache Airflow™ в Yandex Lockbox
Проект Яндекса
© 2025 ООО «Яндекс.Облако»