Yandex Cloud
Поиск
Связаться с экспертомПопробовать бесплатно
  • Кейсы
  • Документация
  • Блог
  • Все сервисы
  • Статус работы сервисов
  • Marketplace
    • Популярные
    • Инфраструктура и сеть
    • Платформа данных
    • Искусственный интеллект
    • Безопасность
    • Инструменты DevOps
    • Бессерверные вычисления
    • Управление ресурсами
  • Все решения
    • По отраслям
    • По типу задач
    • Экономика платформы
    • Безопасность
    • Техническая поддержка
    • Каталог партнёров
    • Обучение и сертификация
    • Облако для стартапов
    • Облако для крупного бизнеса
    • Центр технологий для общества
    • Облако для интеграторов
    • Поддержка IT-бизнеса
    • Облако для фрилансеров
    • Обучение и сертификация
    • Блог
    • Документация
    • Контент-программа
    • Мероприятия и вебинары
    • Контакты, чаты и сообщества
    • Идеи
    • Калькулятор цен
    • Тарифы
    • Акции и free tier
  • Кейсы
  • Документация
  • Блог
Создавайте контент и получайте гранты!Готовы написать своё руководство? Участвуйте в контент-программе и получайте гранты на работу с облачными сервисами!
Подробнее о программе
Проект Яндекса
© 2026 ООО «Яндекс.Облако»
Yandex Managed Service for YDB
  • Начало работы
  • Управление доступом
  • Метрики Monitoring
  • Аудитные логи Audit Trails
    • Введение в работу с YDB через Terraform
    • Получение данных для аутентификации
    • Установка и настройка Terraform и провайдера для подключения к YDB
    • Создание конфигурационных файлов и подключение к YDB
    • Создание и изменение параметров бессерверной базы данных
    • Создание и изменение параметров выделенной базы данных
    • Создание строковых и колоночных таблиц в базе данных
    • Создание документных таблиц в базе данных
    • Создание потока изменений таблицы
    • Создание вторичных индексов строковых таблиц
    • Управление конфигурацией топиков YDB
  • Вопросы и ответы
  • Публичные материалы
  • Обучающие курсы
  1. Работа с YDB через Terraform
  2. Создание потока изменений таблицы

Создание потока изменений таблицы

Статья создана
Yandex Cloud
Улучшена
Max Z.
Обновлена 21 октября 2024 г.
Открыть в Markdown

Поток изменений таблицы или Change Data Capture (CDC) — это механизм оповещения об изменениях данных в конкретной таблице. Когда в таблице добавляется, обновляется или удаляется строка, CDC формирует запись о произошедшем изменении с указанием первичного ключа строки и пишет ее в соответствующую данному ключу партицию топика. Топик — это сущность для хранения неструктурированных сообщений, предназначенная для их доставки множеству подписчиков. Фактически, топик — это именованный набор сообщений.

Описание ресурса yandex_ydb_table_changefeedОписание ресурса yandex_ydb_table_changefeed

Создать поток изменений таблицы можно с помощью ресурса yandex_ydb_table_changefeed:

resource "yandex_ydb_table_changefeed" "ydb_changefeed" {
  table_id = yandex_ydb_table.test_table_2.id
  name = "changefeed"
  mode = "NEW_IMAGE"
  format = "JSON"

  consumer {
    name = "test_consumer"
  }
}

В создании потока изменений таблицы мы использовали следующий набор полей:

  • table_id — идентификатор таблицы, для которой создается поток изменений;
  • name — название потока изменений;
  • mode — режим работы потока изменений. Все доступные режимы работы потока изменений описаны в документации.
  • format — формат потока изменений. Доступен только JSON формат.

Полное описание всех полей ресурса yandex_ydb_table_changefeed:

Название поля Тип Описание
table_path string
required
Путь до таблицы
connection_string string
required
Строка соединения, конфликтует с table_id
database_id string
required
Идентификатор базы данных, конфликтует с table_path и connection_string
table_id string
required
Terraform-идентификатор таблицы
name string
required
Имя потока изменений
mode string
required
Режим работы потока изменений
format string
required
Формат потока изменений
virtual_timestamps bool
optional
Использование виртуальных таймстеймпов
retention_period string
optional
Время хранения данных в топике в формате ISO 8601
consumer array[consumer]
optional
Консьюмеры (читатели) для потока изменений

При инициализации ресурса yandex_ydb_table_changefeed можно указать только одно поле соединения: connection_string, table_path или table_id. При указании нескольких полей соединения между ними возникают конфликты. Например, поле table_id с указанием относительной ссылки в формате: <ресурс>.<идентификатор>.<параметр> — yandex_ydb_table.test_table_2.id.

Внутри ресурса потока изменений располагается блок consumer. Consumer (читатель) — это именованная сущность для чтения данных из топика. У читателя несколько полей настроек. Главное поле — name (имя читателя). При инициализации ресурса yandex_ydb_table_changefeed можно задать несколько читателей, а можно не создавать ни одного, но тогда невозможно будет читать данные из потока изменений.

Полный перечень полей блока consumer:

Название поля Тип Описание
name string
required
Имя читателя
supported_codecs array[string]
optional
Поддерживаемые кодировки данных
starting_message_timestamp_ms integer
optional
Временная метка в формате UNIX timestamp, с которой читатель начнет читать данные

Имя читателя используется в SDK или CLI для чтения данных из топика.

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

Предыдущая
Создание документных таблиц в базе данных
Следующая
Создание вторичных индексов строковых таблиц
Создавайте контент и получайте гранты!Готовы написать своё руководство? Участвуйте в контент-программе и получайте гранты на работу с облачными сервисами!
Подробнее о программе
Проект Яндекса
© 2026 ООО «Яндекс.Облако»