diff options
author | bazeltsev <bazeltsev@ydb.tech> | 2022-08-19 11:59:32 +0300 |
---|---|---|
committer | bazeltsev <bazeltsev@ydb.tech> | 2022-08-19 11:59:32 +0300 |
commit | 3e1f3244d4da002acabb189676344871bd01ff3c (patch) | |
tree | b9725212f418ce0ac4da92a671eb26b96da926bb | |
parent | ae28eae8770a9a3be0fc315eee641837c0085a81 (diff) | |
download | ydb-3e1f3244d4da002acabb189676344871bd01ff3c.tar.gz |
Added topic read
updated
initial
-rw-r--r-- | ydb/docs/ru/core/reference/ydb-cli/topic.md | 61 |
1 files changed, 60 insertions, 1 deletions
diff --git a/ydb/docs/ru/core/reference/ydb-cli/topic.md b/ydb/docs/ru/core/reference/ydb-cli/topic.md index 78dfc8fe06..8539cb8c98 100644 --- a/ydb/docs/ru/core/reference/ydb-cli/topic.md +++ b/ydb/docs/ru/core/reference/ydb-cli/topic.md @@ -138,7 +138,7 @@ SupportedCodecs: RAW, GZIP, LZOP {{ ydb-cli }} -p db1 topic drop my-topic ``` -## Создание читателя для топика {#consumer-add} +## Добавление читателя для топика {#consumer-add} С помощью подкоманды `topic consumer add` вы можете создать читателя для [созданного ранее](#topic-create) топика. @@ -232,3 +232,62 @@ Consumers: --consumer-name my-consumer \ my-topic ``` + +## Чтение из топика {#topic-read} + +С помощью подкоманды `topic read` вы можете прочитать сообщения из топика. + +Перед чтением нужно [создать топик](#topic-create) и [добавить читателя](#consumer-add). + +Общий вид команды: + +```bash +{{ ydb-cli }} [global options...] topic read [options...] <topic-path> +``` + +* `global options` — [глобальные параметры](commands/global-options.md). +* `options` — [параметры подкоманды](#options). +* `topic-path` — путь топика. + +Посмотрите описание команды чтения из топика: + +```bash +{{ ydb-cli }} topic read --help +``` + +### Параметры подкоманды {#topic-read} + +Имя | Описание +---|--- +`-c VAL`, `--consumer-name VAL` | Имя читателя топика. +`--format STRING` | Формат вывода.<br>Возможные значения:<ul><li>`pretty` — вывод в псевдографическую таблицу;</li><li>`newline-delimited` — в конце каждого сообщения выводится управляющий символ `0x0A`;</li><li>`concatenated` — вывод без разделителей.</li></ul> +`-f VAL`, `--file VAL` | Записывать читаемые данные в указанный файл.<br>Если параметр не задан, то сообщения выводятся в `stdout`. +`--idle-timeout VAL` | Максимальное время ожидания нового сообщения.<br>Если за время ожидания сообщения не поступают, чтение останавливается.<br>Значение по умолчанию — `1s` (1 секунда). +`--commit VAL` | Отправка подтверждения обработки сообщений.<br>Значение по умолчанию — `true`.<br>Возможные значения: `true`, `false`. +`--limit VAL` | Количество сообщений, которое нужно прочитать.<br>Значение по умолчанию — `0` (нет ограничений). +`-w`, `--wait` | Бесконечно ожидать первого сообщения.<br>Если параметр не задан, то первое сообщение ожидается не более `--idle-timeout`. +`--timestamp VAL` | Время в формате [UNIX timestamp](https://ru.wikipedia.org/wiki/Unix-время). Чтение начнется с первого [сообщения](../../concepts/topic.md#message), полученного после указанного времени. +`--with-metadata-fields VAL` | Список [атрибутов сообщения](../../concepts/topic.md#message), значения которых нужно выводить.<br>Возможные значения:<ul><li>`write_time` — время записи сообщения на сервер в формате [UNIX timestamp](https://ru.wikipedia.org/wiki/Unix-время);</li><li>`meta` — метаданные сообщения;</li><li>`create_time` — время создания сообщения источником в формате [UNIX timestamp](https://ru.wikipedia.org/wiki/Unix-время);</li><li>`seq_no` — [порядковый номер](../../concepts/topic.md#seqno) сообщения;</li><li>`offset` — [порядковый номер сообщения внутри партиции](../../concepts/topic.md#offset);</li><li>`message_group_id` — [идентификатор группы сообщений](../../concepts/topic.md#producer-id);</li><li>`body` — тело сообщения.</li></ul> +`--transform VAL` | Указать формат тела читаемого сообщения для преобразования.<br>Значение по умолчанию — `none`.<br>Возможные значения:<ul><li>`base64` — преобразовать в кодировку [Base64](https://ru.wikipedia.org/wiki/Base64);</li><li>`none` — не преобразовывать.</li></ul> + +### Примеры {#topic-read} + +Прочитайте через читателя `my-consumer` все сообщения из топика `my-topic` и выведите каждое в отдельной строке: + +```bash +{{ ydb-cli }} topic read \ + --consumer-name my-consumer \ + --format newline-delimited \ + my-topic +``` + +Следующая команда прочитает первые 10 сообщений топика `my-topic` через читателя `my-consumer` и выведет каждое в отдельной строке. Также перед выводом тело сообщения будет преобразовано в Base64: + +```bash +{{ ydb-cli }} topic read \ + --consumer-name my-consumer \ + --format newline-delimited + --limit 10 \ + --transform base64 \ + my-topic +``` |