Добавление читателя топика
С помощью команды topic consumer add вы можете добавить читателя для созданного ранее топика.
Общий вид команды:
ydb [global options...] topic consumer add [options...] <topic-path>
global options— глобальные параметры.options— параметры подкоманды.topic-path— путь топика.
Посмотрите описание команды добавления читателя:
ydb topic consumer add --help
Параметры подкоманды
| Имя | Описание |
|---|---|
--consumer VAL |
Имя читателя, которого нужно добавить. |
--starting-message-timestamp VAL |
Время в формате UNIX timestamp (секунды с 1970.01.01) или в формате ISO-8601 (например, 2020-07-10T15:00:00Z). Чтение начнется с первого сообщения, полученного после указанного времени. Если время не задано, то чтение начнется с самого старого сообщения в топике. |
--supported-codecs |
Поддерживаемые методы сжатия данных. Значение по умолчанию — raw.Возможные значения: |
--important |
Указывает, является ли читатель важным. Значение по умолчанию — false.Для важных читателей:
|
--availability-period VAL |
Время доступности данных в топике для необработанных сообщений. Опция позволяет продлить время хранения сообщений в топике с времени хранения retention-period вплоть до указанного времени доступности, если читатель не подтверждает их обработку.Формат: положительное число с указанием единицы измерения времени (без пробелов). Поддерживаются следующие единицы измерения:
72h, 1440m, 2d, 3600s.Для важных читателей (с параметром --important) этот параметр не применяется. |
Примеры
Примечание
В примерах используется профиль quickstart, подробнее смотрите в Создание профиля для соединения с тестовой БД.
Создайте читателя с именем my-consumer для созданного ранее топика my-topic, чтение начнется с первого сообщения, полученного после 15 августа 2022 13:00:00 GMT
ydb -p quickstart topic consumer add \
--consumer my-consumer \
--starting-message-timestamp 1660568400 \
my-topic
Убедитесь, что читатель создан:
ydb -p quickstart scheme describe my-topic
Результат:
RetentionPeriod: 2 hours
PartitionsCount: 2
SupportedCodecs: RAW, GZIP
Consumers:
┌──────────────┬─────────────────┬───────────────────────────────┬───────────┐
| ConsumerName | SupportedCodecs | ReadFrom | Important |
├──────────────┼─────────────────┼───────────────────────────────┼───────────┤
| my-consumer | RAW, GZIP | Mon, 15 Aug 2022 16:00:00 MSK | 0 |
└──────────────┴─────────────────┴───────────────────────────────┴───────────┘
Создайте читателя с именем backup-consumer для топика my-topic с периодом доступности данных 3 дня
ydb -p quickstart topic consumer add \
--consumer backup-consumer \
--availability-period 3d \
my-topic
Если читатель успевает обрабатывать данные, то сообщения в топике будут храниться в течение 2-х часов, в соответствии со значением параметра retention-period топика.
Однако при временной остановке чтения, время хранения данных в топике, для которых читатель backup-consumer ещё не подтвердил обработку, будет увеличено вплоть до 3-х дней, в соответствии с параметром availability-period.
Создайте важного читателя с именем critical-consumer для топика my-topic с дополнительной поддержкой кодека ZSTD
ydb -p quickstart topic consumer add \
--consumer critical-consumer \
--important \
--supported-codecs raw,gzip,zstd \
my-topic
Обратите внимание, что для важного читателя параметр --availability-period не применяется, даже если он указан.