Отправить данные GRPC
Отправляет часть данных (дополнительный QueryInfo) в поток
- Параметры
- Расширенный вызов ?
Функция ОтправитьДанныеGRPC(Знач Соединение, Знач IDПотока, Знач Данные, Знач ОжидатьСледующее = Ложь) Экспорт
| Параметр | CLI опция | Тип | Обяз. | Назначение |
|---|---|---|---|---|
| Соединение | - | Произвольный | ✔ | Объект соединения GRPC |
| IDПотока | - | Строка | ✔ | Идентификатор потока |
| Данные | - | Произвольный | ✔ | Строка, коллекция, двоичные данные или путь к файлу для отправки |
| ОжидатьСледующее | - | Булево | ✖ | Флаг ожидания следующих сообщений после текущего |
Возвращаемое значение
Соответствие Из КлючИЗначение - Результат обработки
Для текущего метода нет дополнительных параметров расширенного вызова.
Предупреждение
NOCLI: данный метод недоступен для использования в CLI версии
Пример использования для 1С:Предприятие/OneScript
URL = "http://localhost:9101";
Логин = "bayselonarrend";
Пароль = "12we...";
Авторизация = Новый Структура(Логин, Пароль);
НастройкиСоединения = OPI_ClickHouse.ПолучитьНастройкиСоединенияGRPC(URL, Авторизация);
Соединение = OPI_ClickHouse.ОткрытьСоединениеGRPC(НастройкиСоединения);
Результат = OPI_ClickHouse.ОткрытьПотокGRPC(Соединение);
Если Не Результат["result"] Тогда
ВызватьИсключение Результат["error"];
Иначе
IDПотока = Результат["streamId"];
КонецЕсли;
ТекстЗапроса = "INSERT INTO events_stream_test FORMAT JSONEachRow";
ФорматДанных = "JSON";
Тек ущаяДата = Дата("20260101100000");
Счетчик = 0;
Пока Счетчик < 5 Цикл
Запись = Новый Структура;
Запись.Вставить("id" , Счетчик + 1);
Запись.Вставить("timestamp" , ТекущаяДата);
Запись.Вставить("user_id" , 100 + Счетчик);
Запись.Вставить("event_type" , "stream_test");
Запись.Вставить("payload" , "{}");
Запись = OPI_Инструменты.JSONСтрокой(Запись) + Символы.ПС;
Последнее = Счетчик = 4;
Если Счетчик = 0 Тогда
Запрос = OPI_ClickHouse.ПолучитьНастройкиЗапроса(ТекстЗапроса, "default", , Запись, ФорматДанных);
ТекущаяОтправка = OPI_ClickHouse.ОтправитьСообщениеGRPC(Соединение, IDПотока, Запрос, , Не Последнее);
Иначе
ТекущаяОтправка = OPI_ClickHouse.ОтправитьДанныеGRPC(Соединение, IDПотока, Запись, Не Последнее); // <---
КонецЕсли;
Если Не ТекущаяОтправка["result"] Тогда
Ошибка = ТекущаяОтправка["error"];
Если Ошибка <> "Timeout" Тогда
ВызватьИсключение OPI_Инструменты.JSONСтрокой(ТекущаяОтправка);
КонецЕсли;
КонецЕсли;
Счетчик = Счетчик + 1;
КонецЦикла;
Результат
{
"result": true,
"streamId": "20f4701a-ac48-4d3c-8116-aa1e9d2c8561"
}