aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorbazeltsev <bazeltsev@ydb.tech>2022-08-19 11:59:32 +0300
committerbazeltsev <bazeltsev@ydb.tech>2022-08-19 11:59:32 +0300
commit3e1f3244d4da002acabb189676344871bd01ff3c (patch)
treeb9725212f418ce0ac4da92a671eb26b96da926bb
parentae28eae8770a9a3be0fc315eee641837c0085a81 (diff)
downloadydb-3e1f3244d4da002acabb189676344871bd01ff3c.tar.gz
Added topic read
updated initial
-rw-r--r--ydb/docs/ru/core/reference/ydb-cli/topic.md61
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
+```