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

GRPC

Этот раздел посвящен библиотеке для работы с gRPC в 1С:Предприятие, OneScript и CLI. На данной странице описаны все действия, необходимые для полноценного начала работы

Начало работы

Для начала работы с сервером по протоколу gRPC, необходимо создать объект соединения. Сделать это можно явно, передав настройки соединения в функцию ОткрытьСоединение или, в отдельных случаях, неявно, передав настройки соединения сразу в функцию выполнения запроса. В последнем случае, соединение будет открыто и закрыто внутри вызываемой функции. Сформировать настройки соединения для обоих случаев можно при помощи функции ПолучитьПараметрыСоединения. В нее необходимо передать URL сервера (c протоколом и портом), структуру Proto-файлов, а также структуру метаданных (при необходимости). Библиотека поддерживает загрузку нескольких Proto файлов, если основной файл для работы с сервисом содержит импорты (порядок загрузки файлов не имеет значения). Подробнее в описании функции ПолучитьПараметрыСоединения


Адрес = "https://grpcb.in:9001";

Proto1 = "./grpcbin_with_import.proto"; // Строка, путь к файлу или URL
Proto2 = "./mt.proto"; // Строка, путь к файлу или URL

Схемы = Новый Соответствие;
Схемы.Вставить("main.proto" , Proto1); // Основной
Схемы.Вставить("my_types.proto", Proto2); // Для импорта в основной

Мета = Новый Структура("mykey", "myvalue");

Параметры = OPI_GRPC.ПолучитьПараметрыСоединения(Адрес, Схемы, Мета);
Tls = OPI_GRPC.ПолучитьНастройкиTls(Истина);

Результат = OPI_GRPC.ОткрытьСоединение(Параметры, Tls);

TLS

Библиотека поддерживает работу в режиме TLS. Для его включения необходимо сформировать настройки TLS при помощи функции ПолучитьНастройкиTls, и передать их как соответствующий параметр в функцию ОткрытьСоединение или иную функцию, если используется неявное открытие соединения. Если параметр TLS при вызове этих функций не передан, соединение инициализируется в незащищенном режиме

Стриминг

Библиотека поддерживает работу в потоковом режиме (стрминг). Для ее начала необходимо передать объект соединения в функцию ИнициализироватьСерверныйПоток, ИнициализироватьКлиентскийПоток или ИнициализироватьДвунаправленныйПоток. Это откроет server, client или bidirectional поток соответственно, после чего можно осуществлять отправку и получение сообщений при помощи функций ОтправитьСообщение и ПолучитьСообщение. Для CLI версии, а также более простой работы с потоками в 1С и OneScript, существуют дополнительные функции ОбработатьСерверныйПоток, ОбработатьКлиентскийПоток и ОбработатьДвунаправленныйПоток. Они позволяют сразу указать информацию о данных, которые должны быть отправлены и приняты, после чего возвращают весь набор полученных сообщений в виде единого ответа