Открыть поток GRPC
Инициализирует I/O поток для обмена
- Параметры
- Расширенный вызов ?
Функц ия ОткрытьПотокGRPC(Знач Соединение, Знач Таймаут = 10000) Экспорт
| Параметр | CLI опция | Тип | Обяз. | Назначение |
|---|---|---|---|---|
| Соединение | - | Произвольный | ✔ | Объект GRPC соединения |
| Таймаут | - | Число | ✖ | Таймаут (в мс) |
Возвращаемое значение
Соответствие Из КлючИЗначение - Результат обработки
Для текущего метода нет дополнительных параметров расширенного вызова.
Предупреждение
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;
КонецЦикла;
Завершение = OPI_ClickHouse.ЗавершитьОтправкуGRPC(Соединение, IDПотока);
ФинальноеСообщение = OPI_ClickHouse.ПолучитьСообщениеGRPC(Соединение, IDПотока);
OPI_GRPC.ЗакрытьСоединение(Соединение);
Результат
{
"result": true,
"streamId": "4859ee51-85d5-4c94-8301-4b43ee6e3ef8"
}