Перейти к основному содержимому

Обработать получение GRPC

Инициализирует поток, передает запрос и получает сообщения до закрытия или установленного лимита

Функция ОбработатьПолучениеGRPC(Знач Соединение, Знач Запрос, Знач ЧислоСообщений = Неопределено, Знач Сессия = Неопределено, Знач Таймаут = 10000) Экспорт

ПараметрCLI опцияТипОбяз.Назначение
Соединение--connПроизвольныйСуществующее соединение или параметры соединения
Запрос--reqСтруктура Из КлючИЗначениеДанные запроса. См. ПолучитьНастройкиЗапроса
ЧислоСообщений--amountЧислоМаксимально число сообщений для получения, если необходимо
Сессия--sessionСтруктура Из КлючИЗначениеНастройки сессии. См. ПолучитьНастройкиСессии
Таймаут--toutЧислоТаймаут (в мс)
Возвращаемое значение

Соответствие Из КлючИЗначение - Результат обработки

Пример использования для 1С:Предприятие/OneScript
URL = "http://localhost:9101";
Логин = "bayselonarrend";
Пароль = "12we...";

Авторизация = Новый Структура(Логин, Пароль);
НастройкиСоединения = OPI_ClickHouse.ПолучитьНастройкиСоединенияGRPC(URL, Авторизация);
Соединение = OPI_ClickHouse.ОткрытьСоединениеGRPC(НастройкиСоединения);

ТекстВыборки = "SELECT * FROM events_stream_test ORDER BY id";
Запрос = OPI_ClickHouse.ПолучитьНастройкиЗапроса(ТекстВыборки, , , , "JSON");

Результат = OPI_ClickHouse.ОбработатьПолучениеGRPC(Соединение, Запрос);
# JSON данные также могут быть переданы как путь к файлу .json

oint clickhouse ОбработатьПолучениеGRPC \
--conn "{'auth_type':'basic','transport':'grpc','password':'***','user':'bayselonarrend','address':'http://127.0.0.1:9101'}" \
--req "{'query':'SELECT * FROM events_stream_test ORDER BY id','format':'JSON'}"
Результат
{
"stop_message": {
"error": "Closed",
"result": false
},
"result": true,
"messages": [
{
"message": {
"cancelled": false,
"exception": {
"code": 0,
"display_text": "",
"name": "",
"stack_trace": ""
},
"extremes": {
"BYTES": ""
},
"logs": [],
"output": {
"meta": [
{
"name": "id",
"type": "UInt64"
},
{
"name": "timestamp",
"type": "DateTime"
},
{
"name": "user_id",
"type": "UInt32"
},
{
"name": "event_type",
"type": "String"
},
{
"name": "payload",
"type": "String"
}
],
"data": [
{
"id": "1",
"timestamp": "2026-01-01 10:00:00",
"user_id": 100,
"event_type": "stream_test",
"payload": "{}"
},
{
"id": "1",
"timestamp": "2026-01-01 10:00:00",
"user_id": 100,
"event_type": "stream_test",
"payload": "{}"
},
{
"id": "1",
"timestamp": "2026-01-01 10:00:00",
"user_id": 100,
"event_type": "stream_test",
"payload": "{}"
},
{
"id": "1",
"timestamp": "2026-01-01 10:00:00",
"user_id": 100,
"event_type": "stream_test",
"payload": "{}"
},
{
"id": "2",
"timestamp": "2026-01-01 10:00:00",
"user_id": 101,
"event_type": "stream_test",
"payload": "{}"
},
{
"id": "2",
"timestamp": "2026-01-01 10:00:00",
"user_id": 101,
"event_type": "stream_test",
"payload": "{}"
},
{
"id": "2",
"timestamp": "2026-01-01 10:00:00",
"user_id": 101,
"event_type": "stream_test",
"payload": "{}"
},
{
"id": "2",
"timestamp": "2026-01-01 10:00:00",
"user_id": 101,
"event_type": "stream_test",
"payload": "{}"
},
{
"id": "3",
"timestamp": "2026-01-01 10:00:00",
"user_id": 102,
"event_type": "stream_test",
"payload": "{}"
},
{
"id": "3",
"timestamp": "2026-01-01 10:00:00",
"user_id": 102,
"event_type": "stream_test",
"payload": "{}"
},
{
"id": "3",
"timestamp": "2026-01-01 10:00:00",
"user_id": 102,
"event_type": "stream_test",
"payload": "{}"
},
{
"id": "3",
"timestamp": "2026-01-01 10:00:00",
"user_id": 102,
"event_type": "stream_test",
"payload": "{}"
},
{
"id": "4",
"timestamp": "2026-01-01 10:00:00",
"user_id": 103,
"event_type": "stream_test",
"payload": "{}"
},
{
"id": "4",
"timestamp": "2026-01-01 10:00:00",
"user_id": 103,
"event_type": "stream_test",
"payload": "{}"
},
{
"id": "4",
"timestamp": "2026-01-01 10:00:00",
"user_id": 103,
"event_type": "stream_test",
"payload": "{}"
},
{
...