Yandex Cloud
Поиск
Связаться с намиПодключиться
  • Истории успеха
  • Документация
  • Блог
  • Все сервисы
  • Статус работы сервисов
    • Доступны в регионе
    • Инфраструктура и сеть
    • Платформа данных
    • Контейнеры
    • Инструменты разработчика
    • Бессерверные вычисления
    • Безопасность
    • Мониторинг и управление ресурсами
    • ИИ для бизнеса
    • Бизнес-инструменты
  • Все решения
    • По отраслям
    • По типу задач
    • Экономика платформы
    • Безопасность
    • Техническая поддержка
    • Каталог партнёров
    • Обучение и сертификация
    • Облако для стартапов
    • Облако для крупного бизнеса
    • Центр технологий для общества
    • Партнёрская программа
    • Поддержка IT-бизнеса
    • Облако для фрилансеров
    • Обучение и сертификация
    • Блог
    • Документация
    • Мероприятия и вебинары
    • Контакты, чаты и сообщества
    • Идеи
    • Тарифы Yandex Cloud
    • Промоакции и free tier
    • Правила тарификации
  • Истории успеха
  • Документация
  • Блог
Проект Яндекса
© 2025 ТОО «Облачные Сервисы Казахстан»
Практические руководства
    • Все руководства
    • Самостоятельное развертывание веб-интерфейса Apache Kafka®
    • Обновление кластера Managed Service for Apache Kafka® с ZooKeeper на KRaft
    • Миграция БД из стороннего кластера Apache Kafka® в Managed Service for Apache Kafka®
    • Перенос данных между кластерами Managed Service for Apache Kafka® с помощью Data Transfer
    • Поставка данных из Managed Service for MySQL® в Managed Service for Apache Kafka® с помощью Data Transfer
    • Поставка данных из Managed Service for MySQL® в Managed Service for Apache Kafka® с помощью Debezium
    • Поставка данных из Managed Service for PostgreSQL в Managed Service for Apache Kafka® с помощью Data Transfer
    • Поставка данных из Managed Service for PostgreSQL в Managed Service for Apache Kafka® с помощью Debezium
    • Поставка данных из Managed Service for YDB в Managed Service for Apache Kafka® с помощью Data Transfer
    • Поставка данных из Managed Service for Apache Kafka® в Managed Service for ClickHouse® с помощью Data Transfer
    • Поставка данных из Managed Service for Apache Kafka® в Yandex MPP Analytics for PostgreSQL с помощью Data Transfer
    • Поставка данных из Managed Service for Apache Kafka® в Yandex StoreDoc с помощью Data Transfer
    • Поставка данных из Managed Service for Apache Kafka® в Managed Service for MySQL® с помощью Data Transfer
    • Поставка данных из Managed Service for Apache Kafka® в Managed Service for OpenSearch с помощью Data Transfer
    • Поставка данных из Managed Service for Apache Kafka® в Managed Service for PostgreSQL с помощью Data Transfer
    • Поставка данных из Managed Service for Apache Kafka® в Managed Service for YDB с помощью Data Transfer
    • Поставка данных из Managed Service for Apache Kafka® в Data Streams с помощью Data Transfer
    • Поставка данных из Data Streams в Managed Service for YDB с помощью Data Transfer
    • Поставка данных из Data Streams в Managed Service for Apache Kafka® с помощью Data Transfer
    • Захват изменений YDB и поставка в YDS
    • Настройка Kafka Connect для работы с кластером Managed Service for Apache Kafka®
    • Синхронизация топиков Apache Kafka® в Object Storage без использования интернета
    • Отслеживание потери сообщений в топике Apache Kafka®
    • Автоматизация задач Query с помощью Managed Service for Apache Airflow™
    • Отправка запросов к API Yandex Cloud через Yandex Cloud Python SDK
    • Настройка SMTP-сервера для отправки уведомлений по электронной почте
    • Добавление данных в БД ClickHouse®
    • Миграция данных в Managed Service for ClickHouse® средствами ClickHouse®
    • Миграция данных в Managed Service for ClickHouse® при помощи Data Transfer
    • Поставка данных из Managed Service for MySQL® в Managed Service for ClickHouse® с помощью Data Transfer
    • Асинхронная репликация данных из PostgreSQL в ClickHouse®
    • Обмен данными между Managed Service for ClickHouse® и Yandex Data Processing
    • Настройка Managed Service for ClickHouse® для Graphite
    • Получение данных из Managed Service for Apache Kafka® в Managed Service for ClickHouse®
    • Получение данных из Managed Service for Apache Kafka® в ksqlDB
    • Получение данных из RabbitMQ в Managed Service for ClickHouse®
    • Сохранение потока данных Data Streams в Managed Service for ClickHouse®
    • Асинхронная репликация данных из Яндекс Метрика в ClickHouse® с помощью Data Transfer
    • Использование гибридного хранилища в Managed Service for ClickHouse®
    • Шардирование таблиц Managed Service for ClickHouse®
    • Загрузка данных из Яндекс Директ в витрину Managed Service for ClickHouse® с использованием Cloud Functions, Object Storage и Data Transfer
    • Загрузка данных из Object Storage в Managed Service for ClickHouse® с помощью Data Transfer
    • Миграция данных со сменой хранилища из Managed Service for OpenSearch в Managed Service for ClickHouse® с помощью Data Transfer
    • Загрузка данных из Managed Service for YDB в Managed Service for ClickHouse® с помощью Data Transfer
    • Интеграция Yandex Managed Service for ClickHouse® с Microsoft SQL Server через ClickHouse® JDBC Bridge
    • Миграция базы данных из Google BigQuery в Managed Service for ClickHouse®
    • Интеграция Yandex Managed Service for ClickHouse® с Oracle через ClickHouse® JDBC Bridge
    • Настройка Cloud DNS для доступа к кластеру Managed Service for ClickHouse® из других облачных сетей
    • Миграция кластера Yandex Data Processing с HDFS в другую зону доступности
    • Импорт данных из Managed Service for MySQL® в Yandex Data Processing с помощью Sqoop
    • Импорт данных из Managed Service for PostgreSQL в Yandex Data Processing с помощью Sqoop
    • Монтирование бакетов Object Storage к файловой системе хостов Yandex Data Processing
    • Работа с топиками Apache Kafka® с помощью Yandex Data Processing
    • Автоматизация работы с Yandex Data Processing с помощью Managed Service for Apache Airflow™
    • Совместная работа с таблицами Yandex Data Processing с использованием Apache Hive™ Metastore
    • Перенос метаданных между кластерами Yandex Data Processing с помощью Apache Hive™ Metastore
    • Импорт данных из Object Storage, обработка и экспорт в Managed Service for ClickHouse®
    • Миграция коллекций из стороннего кластера MongoDB в Yandex StoreDoc
    • Миграция данных в Yandex StoreDoc
    • Миграция кластера Yandex StoreDoc с версии 4.4 на 6.0
    • Шардирование коллекций Yandex StoreDoc
    • Анализ производительности и оптимизация Yandex StoreDoc
    • Анализ производительности и оптимизация Managed Service for MySQL®
    • Синхронизация данных из стороннего кластера MySQL® в Managed Service for MySQL® с помощью Data Transfer
    • Миграция БД из Managed Service for MySQL® в сторонний кластер MySQL®
    • Миграция БД из Managed Service for MySQL® в Object Storage с помощью Data Transfer
    • Перенос данных из Object Storage в Managed Service for MySQL® с использованием Data Transfer
    • Поставка данных из Managed Service for MySQL® в Managed Service for Apache Kafka® с помощью Data Transfer
    • Поставка данных из Managed Service for MySQL® в Managed Service for Apache Kafka® с помощью Debezium
    • Миграция БД из Managed Service for MySQL® в Managed Service for YDB с помощью Data Transfer
    • Захват изменений MySQL® и поставка в YDS
    • Миграция данных из Managed Service for MySQL® в Managed Service for PostgreSQL с помощью Data Transfer
    • Миграция данных из AWS RDS for PostgreSQL в Managed Service for PostgreSQL с помощью Data Transfer
    • Миграция данных из Managed Service for MySQL® в Yandex MPP Analytics for PostgreSQL с помощью Data Transfer
    • Настройка политики индексов в Managed Service for OpenSearch
    • Миграция данных в Managed Service for OpenSearch из стороннего кластера OpenSearch с помощью Data Transfer
    • Загрузка данных из Managed Service for OpenSearch в Object Storage с помощью Data Transfer
    • Миграция данных из Managed Service for OpenSearch в Managed Service for YDB с помощью Data Transfer
    • Копирование данных из Managed Service for OpenSearch в Yandex MPP Analytics for PostgreSQL с помощью Yandex Data Transfer
    • Миграция данных из Managed Service for PostgreSQL в Managed Service for OpenSearch с помощью Data Transfer
    • Аутентификация в OpenSearch Dashboards кластера Managed Service for OpenSearch с помощью Keycloak
    • Использование плагина yandex-lemmer в Managed Service for OpenSearch
    • Создание кластера PostgreSQL для «1С:Предприятия»
    • Логическая репликация PostgreSQL
    • Миграция БД из стороннего кластера PostgreSQL в Managed Service for PostgreSQL
    • Миграция БД из Managed Service for PostgreSQL
    • Поставка данных из Managed Service for PostgreSQL в Managed Service for Apache Kafka® с помощью Data Transfer
    • Поставка данных из Managed Service for PostgreSQL в Managed Service for Apache Kafka® с помощью Debezium
    • Поставка данных из Managed Service for PostgreSQL в Managed Service for YDB с помощью Data Transfer
    • Миграция БД из Managed Service for PostgreSQL в Object Storage
    • Перенос данных из Object Storage в Managed Service for PostgreSQL с использованием Data Transfer
    • Захват изменений PostgreSQL и поставка в YDS
    • Миграция данных из Managed Service for PostgreSQL в Managed Service for MySQL® с помощью Data Transfer
    • Миграция данных из Managed Service for PostgreSQL в Managed Service for OpenSearch с помощью Data Transfer
    • Решение проблем с сортировкой строк в PostgreSQL после обновления glibc
    • Миграция БД из Greenplum® в ClickHouse®
    • Миграция БД из Greenplum® в PostgreSQL
    • Выгрузка данных Greenplum® в холодное хранилище Object Storage
    • Загрузка данных из Object Storage в Yandex MPP Analytics for PostgreSQL с помощью Data Transfer
    • Копирование данных из Managed Service for OpenSearch в Yandex MPP Analytics for PostgreSQL с помощью Yandex Data Transfer
    • Создание внешней таблицы на базе таблицы из бакета Object Storage с помощью конфигурационного файла
    • Получение данных из внешних источников с помощью именованных запросов в Greenplum®
    • Миграция БД из стороннего кластера Valkey™ в Yandex Managed Service for Valkey™
    • Использование кластера Yandex Managed Service for Valkey™ в качестве хранилища сессий PHP
    • Загрузка данных из Object Storage в Managed Service for YDB с помощью Data Transfer
    • Загрузка данных из Managed Service for YDB в Object Storage с помощью Data Transfer
    • Обработка аудитных логов Audit Trails
    • Обработка логов Cloud Logging
    • Обработка потока изменений Debezium
    • Анализ данных с помощью Jupyter
    • Обработка файлов детализации в сервисе Yandex Cloud Billing
    • Ввод данных в системы хранения
    • Умная обработка логов
    • Передача данных в микросервисных архитектурах
    • Миграция данных в Object Storage с помощью Data Transfer
    • Миграция данных из стороннего кластера Greenplum® или PostgreSQL в Yandex MPP Analytics for PostgreSQL с помощью Data Transfer
    • Миграция кластера Yandex StoreDoc
    • Миграция кластера MySQL®
    • Миграция на сторонний кластер MySQL®
    • Миграция кластера PostgreSQL
    • Создание реестра схем для поставки данных в формате Debezium CDC из Apache Kafka®
    • Автоматизация работы с помощью Yandex Managed Service for Apache Airflow™
    • Работа с таблицей в Object Storage из PySpark-задания
    • Интеграция Yandex Managed Service for Apache Spark™ и Apache Hive™ Metastore
    • Запуск PySpark-задания с помощью Yandex Managed Service for Apache Airflow™
    • Использование Yandex Object Storage в Yandex Managed Service for Apache Spark™

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

  • Подготовьте облако к работе
  • Необходимые платные ресурсы
  • Создайте сервисный аккаунт
  • Создайте облачную сеть и подсети
  • Подготовьте бакет в Object Storage
  • Создайте бакет
  • Настройте ACL для бакета
  • Настройте NAT для доступа в интернет
  • Создайте NAT-шлюз
  • Создайте таблицу маршрутизации
  • Привяжите таблицу маршрутизации к подсети
  • Создайте кластер Managed Service for Apache Airflow™
  • Подготовьте DAG-файл и запустите граф
  • Проверьте результат
  • Удалите созданные ресурсы
  1. Построение Data Platform
  2. Автоматизация задач Query с помощью Managed Service for Apache Airflow™

Автоматизация задач Yandex Query с помощью Yandex Managed Service for Apache Airflow™

Статья создана
Yandex Cloud
Улучшена
mmerihsesh
Обновлена 8 октября 2025 г.
  • Подготовьте облако к работе
    • Необходимые платные ресурсы
  • Создайте сервисный аккаунт
  • Создайте облачную сеть и подсети
  • Подготовьте бакет в Object Storage
    • Создайте бакет
    • Настройте ACL для бакета
  • Настройте NAT для доступа в интернет
    • Создайте NAT-шлюз
    • Создайте таблицу маршрутизации
    • Привяжите таблицу маршрутизации к подсети
  • Создайте кластер Managed Service for Apache Airflow™
  • Подготовьте DAG-файл и запустите граф
  • Проверьте результат
  • Удалите созданные ресурсы

Важно

Руководство тестировалось на кластерах с версией Apache Airflow™ ниже 3.0.

Managed Service for Apache Airflow™ — это популярный инструмент для автоматизации операций с данными. Yandex Query поддерживает интеграцию с Managed Service for Apache Airflow™ с помощью pip-пакета apache-airflow-providers-yandex.

Чтобы создать инфраструктуру для автоматизации задач Yandex Query c помощью Managed Service for Apache Airflow™, выполните следующие шаги:

  1. Подготовьте облако к работе.
  2. Создайте сервисный аккаунт.
  3. Создайте облачную сеть и подсети.
  4. Подготовьте бакет в Object Storage.
  5. Настройте NAT для доступа в интернет.
  6. Создайте кластер Managed Service for Apache Airflow™.
  7. Подготовьте DAG-файл и запустите граф.
  8. Проверьте результат.

Если созданные ресурсы вам больше не нужны, удалите их.

Подготовьте облако к работеПодготовьте облако к работе

Зарегистрируйтесь в Yandex Cloud и создайте платежный аккаунт:

  1. Перейдите в консоль управления, затем войдите в Yandex Cloud или зарегистрируйтесь.
  2. На странице Yandex Cloud Billing убедитесь, что у вас подключен платежный аккаунт, и он находится в статусе ACTIVE или TRIAL_ACTIVE. Если платежного аккаунта нет, создайте его и привяжите к нему облако.

Если у вас есть активный платежный аккаунт, вы можете создать или выбрать каталог, в котором будет работать ваша инфраструктура, на странице облака.

Подробнее об облаках и каталогах.

Необходимые платные ресурсыНеобходимые платные ресурсы

В стоимость поддержки создаваемой инфраструктуры входит:

  • плата за использование бакета (см. тарифы Yandex Object Storage);
  • плата за использование NAT-шлюза (см. тарифы Yandex Virtual Private Cloud);
  • плата за объем считанных данных (см. тарифы Yandex Query);
  • плата за использование кластера Yandex Managed Service for Apache Airflow™ (см. тарифы Managed Service for Apache Airflow™).

Создайте сервисный аккаунтСоздайте сервисный аккаунт

Создайте сервисный аккаунт airflow-sa с ролью editor на каталог, в котором будет создан кластер Managed Service for Apache Airflow™:

Консоль управления
Yandex Cloud CLI
API
  1. В консоли управления выберите каталог, в котором хотите создать сервисный аккаунт.
  2. В списке сервисов выберите Identity and Access Management.
  3. Нажмите кнопку Создать сервисный аккаунт.
  4. Введите имя сервисного аккаунта: airflow-sa.
  5. Нажмите Добавить роль и выберите роль editor.
  6. Нажмите кнопку Создать.

Если у вас еще нет интерфейса командной строки Yandex Cloud (CLI), установите и инициализируйте его.

По умолчанию используется каталог, указанный при создании профиля CLI. Чтобы изменить каталог по умолчанию, используйте команду yc config set folder-id <идентификатор_каталога>. Также для любой команды вы можете указать другой каталог с помощью параметров --folder-name или --folder-id.

  1. Создайте сервисный аккаунт airflow-sa:

    yc iam service-account create airflow-sa
    

    Результат:

    id: nfersamh4sjq********
    folder_id: b1gc1t4cb638********
    created_at: "2023-09-21T10:36:29.726397755Z"
    name: airflow-sa
    

    Сохраните идентификатор сервисного аккаунта airflow-sa (id) и каталога, в котором его создали (folder_id).

  2. Назначьте сервисному аккаунту роль editor на каталог, указав сохраненные ранее идентификаторы каталога и сервисного аккаунта:

    yc resource-manager folder add-access-binding <идентификатор_каталога> \
      --role editor \
      --subject serviceAccount:<идентификатор_сервисного_аккаунта>
    

Чтобы создать сервисный аккаунт, воспользуйтесь методом create для ресурса ServiceAccount или вызовом gRPC API ServiceAccountService/Create.

Чтобы назначить сервисному аккаунту роль editor на каталог, воспользуйтесь методом setAccessBindings для ресурса ServiceAccount или вызовом gRPC API ServiceAccountService/SetAccessBindings.

Создайте облачную сеть и подсетиСоздайте облачную сеть и подсети

Все ресурсы, созданные в руководстве, будут относиться к одной облачной сети.

Консоль управления
Yandex Cloud CLI
API
  1. В консоли управления выберите каталог.
  2. В списке сервисов выберите Virtual Private Cloud.
  3. Нажмите кнопку Создать сеть.
  4. В поле Имя укажите yq-network.
  5. В поле Дополнительно выберите опцию Создать подсети.
  6. Нажмите кнопку Создать сеть.
  1. Создайте сеть yq-network:

    yc vpc network create yq-network
    

    Результат:

    id: enptrcle5q3d********
    folder_id: b1g9hv2loamq********
    created_at: "2022-04-04T05:25:03Z"
    name: yq-network
    default_security_group_id: enpbsnnop4ak********
    

    Подробнее о команде yc vpc network create см. в справочнике CLI.

  2. Создайте подсети:

    • В зоне доступности kz1-a:

      yc vpc subnet create yq-network-kz1-a \
        --zone kz1-a \
        --network-name yq-network \
        --range 10.1.0.0/16
      

      Результат:

      id: b0c3pte4o2kn********
      folder_id: b1g9hv2loamq********
      created_at: "2022-04-04T09:28:08Z"
      name: yq-network-kz1-a
      network_id: enptrcle5q3d********
      zone_id: kz1-a
      v4_cidr_blocks:
      - 10.1.0.0/16
      
    • В зоне доступности kz1-b:

      yc vpc subnet create yq-network-kz1-b \
        --zone kz1-b \
        --network-name yq-network \
        --range 10.2.0.0/16
      
    • В зоне доступности kz1-d:

      yc vpc subnet create yq-network-kz1-d \
        --zone kz1-d \
        --network-name yq-network \
        --range 10.3.0.0/16
      

    Подробнее о команде yc vpc subnet create см. в справочнике CLI.

  1. Чтобы создать сеть, воспользуйтесь методом REST API create для ресурса Network или вызовом gRPC API NetworkService/Create.

  2. Чтобы создать подсети, воспользуйтесь методом REST API create для ресурса Subnet или вызовом gRPC API SubnetService/Create.

Подготовьте бакет в Object StorageПодготовьте бакет в Object Storage

Создайте бакетСоздайте бакет

Консоль управления
AWS CLI
API
  1. В консоли управления выберите каталог.
  2. В списке сервисов выберите Object Storage.
  3. Нажмите кнопку Создать бакет.
  4. В поле Имя укажите уникальное имя бакета, например airflow-bucket.
  5. В полях Чтение объектов и Чтение списка объектов выберите Для всех.
  6. Нажмите кнопку Создать бакет.

Если у вас еще нет интерфейса командной строки AWS CLI, установите и сконфигурируйте его.

  1. Создайте бакет, указав для него уникальное имя:

    aws --endpoint-url https://storage.yandexcloud.kz \
      s3 mb s3://<имя_бакета>
    

    Результат:

    make_bucket: s3://airflow-bucket
    
  2. Включите публичный доступ к чтению объектов и списка объектов в созданном бакете:

    aws --endpoint-url https://storage.yandexcloud.kz \
      s3api put-bucket-acl \
      --bucket <имя_бакета> \
      --acl public-read
    

Чтобы создать бакет, воспользуйтесь методом REST API create для ресурса Bucket, вызовом gRPC API BucketService/Create или методом S3 API create.

Настройте ACL для бакетаНастройте ACL для бакета

Отредактируйте ACL созданного бакета так, чтобы у сервисного аккаунта airflow-sa было разрешение READ.

Настройте NAT для доступа в интернетНастройте NAT для доступа в интернет

Создайте NAT-шлюзСоздайте NAT-шлюз

Консоль управления
Yandex Cloud CLI
API
  1. В консоли управления выберите каталог.
  2. В списке сервисов выберите Virtual Private Cloud.
  3. На панели слева выберите Шлюзы.
  4. Нажмите кнопку Создать шлюз и в открывшемся окне:
    1. В поле Имя укажите имя yq-nat.
    2. В поле Тип выберите NAT-шлюз.
    3. Нажмите кнопку Сохранить.

Создайте NAT-шлюз в каталоге по умолчанию:

yc vpc gateway create \
  --name yq-nat

Результат:

id: enpkq1sb7hed********
folder_id: b1g681qpemb4********
created_at: "2024-05-19T13:20:36Z"
name: yq-nat
shared_egress_gateway: {}

Подробнее о команде yc vpc gateway create см. в справочнике CLI.

Сохраните идентификатор (id) NAT-шлюза, он понадобится при создании таблицы маршрутизации.

Чтобы создать NAT-шлюз, воспользуйтесь методом REST API create для ресурса Gateway или вызовом gRPC API GatewayService/Create.

Создайте таблицу маршрутизацииСоздайте таблицу маршрутизации

Консоль управления
Yandex Cloud CLI
API
  1. На панели слева выберите Таблицы маршрутизации.
  2. Нажмите кнопку Создать таблицу маршрутизации и введите параметры таблицы маршрутизации:
    1. Введите имя yq-route-table.
    2. Выберите сеть yq-network.
    3. Нажмите кнопку Добавить маршрут.
      • В поле Next hop выберите Шлюз.
      • В поле Шлюз выберите NAT-шлюз yq-nat. Префикс назначения заполнится автоматически.
    4. Нажмите кнопку Добавить.
  3. Нажмите кнопку Создать таблицу маршрутизации.

Создайте таблицу маршрутизации с NAT-шлюзом yq-nat в качестве next hop и префиксом назначения 0.0.0.0/0:

yc vpc route-table create \
  --name=yq-route-table \
  --network-name=yq-network \
  --route destination=0.0.0.0/0,gateway-id=<идентификатор_NAT-шлюза>

Результат:

id: enp4v8foko6s********
folder_id: b1g681qpemb4********
created_at: "2024-05-19T13:22:47Z"
name: yq-route-table
network_id: enppoggov6ub********
static_routes:
  - destination_prefix: 0.0.0.0/0
    gateway_id: enpkq1sb7hed********

Подробнее о команде yc vpc route-table create см. в справочнике CLI.

Чтобы создать таблицу маршрутизации, воспользуйтесь методом REST API create для ресурса RouteTable или вызовом gRPC API RouteTableService/Create.

Привяжите таблицу маршрутизации к подсетиПривяжите таблицу маршрутизации к подсети

Привяжите таблицу маршрутизации к одной из подсетей, чтобы направить трафик подсети через NAT-шлюз:

Консоль управления
Yandex Cloud CLI
API
  1. На панели слева выберите Подсети.
  2. В строке подсети yq-network-kz1-a нажмите кнопку .
  3. Нажмите Привязать таблицу маршрутизации и выберите таблицу yq-route-table.
  4. Нажмите кнопку Привязать.

Выполните команду:

yc vpc subnet update yq-network-kz1-a \
  --route-table-name=yq-route-table

Результат:

id: e9b6n3jj3gh6********
folder_id: b1g681qpemb4********
created_at: "2024-05-19T13:24:58Z"
name: yq-network-kz1-a
network_id: enppoggov6ub********
zone_id: kz1-a
v4_cidr_blocks:
  - 10.1.0.0/16
route_table_id: enp4v8foko6s********
dhcp_options: {}

Подробнее о команде yc vpc subnet update см. в справочнике CLI.

Чтобы привязать таблицу маршрутизации к подсети, воспользуйтесь методом REST API update для ресурса Subnet или вызовом gRPC API SubnetService/Update.

Важно

Метод API переопределит все параметры изменяемого объекта, которые не были явно переданы в запросе, на значения по умолчанию. Чтобы избежать этого, перечислите настройки, которые вы хотите изменить, в параметре updateMask (одной строкой через запятую).

Создайте кластер Managed Service for Apache Airflow™Создайте кластер Managed Service for Apache Airflow™

Консоль управления
  1. В консоли управления выберите каталог, в котором нужно создать кластер.

  2. Выберите сервис Managed Service for Apache Airflow™.

  3. Нажмите кнопку Создать кластер.

  4. В блоке Базовые параметры укажите имя кластера. Имя должно быть уникальным в рамках каталога.

  5. В блоке Настройки доступа задайте пароль пользователя-администратора. Пароль должен иметь длину не менее 8 символов и содержать как минимум:

    • одну заглавную букву;
    • одну строчную букву;
    • одну цифру;
    • один специальный символ.

    Примечание

    Сохраните пароль локально или запомните его. Сервис не показывает пароли после создания.

  6. В блоке Сетевые настройки выберите:

    • зону доступности kz1-a;

    • облачную сеть yq-network;

    • подсеть yq-network-kz1-a;

    • группу безопасности по умолчанию.

      Настройки группы безопасности не влияют на доступ к веб-интерфейсу Apache Airflow™.

  7. В блоке Зависимости укажите название pip-пакета и ограничение на его версии:

    apache-airflow-providers-yandex>=3.10
    
  8. В блоке Хранилище DAG-файлов выберите созданный ранее бакет.

  9. Нажмите кнопку Создать.

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

Ниже используется направленный ациклический граф (DAG) с двумя вершинами:

  • yq_operator — выполняет простой запрос к Yandex Query;
  • output_operator — выводит результат выполнения вершины yq_operator.

Чтобы подготовить DAG:

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

    yq_dag.py
    import datetime
    
    from airflow.models.dag import DAG
    from airflow.providers.yandex.operators.yq import YQExecuteQueryOperator
    from airflow.operators.python_operator import PythonOperator
    
    with DAG(
        dag_id="yq_hello_world_operator",
        schedule="@hourly",
        start_date=datetime.datetime.now(),
    ) as dag:
    
        yq_operator = YQExecuteQueryOperator(
            task_id="yq_operator", sql="SELECT 'Hello, world!'"
        )
    
        def print_context(ds=None, **kwargs):
            ti = kwargs["ti"]
            print(ti.xcom_pull(task_ids="yq_operator"))
    
        output_operator = PythonOperator(
            task_id="output_operator", provide_context=True, python_callable=print_context
        )
    
        yq_operator >> output_operator
    
    if __name__ == "__main__":
        dag.test()
    
  2. Загрузите DAG в кластер Managed Service for Apache Airflow™. Для этого создайте в бакете airflow-bucket папку files/dags и загрузите в нее файл yq_dag.py.

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

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

    Примечание

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

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

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

  1. В разделе DAGs откройте граф yq_hello_world_operator.
  2. Перейдите в раздел Grid.
  3. Выберите задание yq_operator.
  4. Перейдите в раздел XCom.
  5. Убедитесь, что в строке return_value есть элемент 'rows': [['Hello, world!']]. Это значит, что запрос выполнен успешно.

Удалите созданные ресурсыУдалите созданные ресурсы

Чтобы удалить инфраструктуру и перестать платить за созданные ресурсы:

  1. Удалите бакет Object Storage.
  2. Отвяжите и удалите таблицу маршрутизации.
  3. Удалите NAT-шлюз.
  4. Удалите кластер Apache Airflow™.
  5. При необходимости удалите подсети, сеть и сервисный аккаунт.

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

Предыдущая
Отслеживание потери сообщений в топике Apache Kafka®
Следующая
Отправка запросов к API Yandex Cloud через Yandex Cloud Python SDK
Проект Яндекса
© 2025 ТОО «Облачные Сервисы Казахстан»