Skip to content

APonkratov/oscript-confluentkafka-wrapper

Repository files navigation

OneScript Confluent.Kafka wrapper

Build status

Поддержка Kafka для OneScript

Установка

Из хаба пакетов

opm install ConfluentKafkaWrapper

Из релизов GitHub

  1. Перейти на страницу релизов
  2. Скачать артефакт ConfluentKafkaWrapper-x.y.z.ospx
  3. Установить с помощью opm: opm install -f ConfluentKafkaWrapper-x.y.z.ospx

Из сборок AppVeyor

  1. Перейти на страницу последней сборки или истории сборок и выбрать интересующую сборку
  2. Перейти в раздел Artifacts
  3. Скачать артефакт ConfluentKafkaWrapper-x.y.z.ospx
  4. Установить с помощью opm: opm install -f ConfluentKafkaWrapper-x.y.z.ospx

Использование

Отправка сообщений

#Использовать ConfluentKafkaWrapper

// Сообщение с ключом
КафкаПродюсер = Новый КафкаПродюсер("my-example-host.local");
КафкаПродюсер.Отправить("my-example-topic", "my-example-key", "my-important-message");

// Сообщение с ключом и заголовками
Заголовки = Новый Соответствие;
Заголовки.Вставить("Header1", "Value1");
Заголовки.Вставить("Header2", "Value2");

КафкаПродюсер.Отправить("my-example-topic", "my-example-key", "my-important-message", Заголовки);

Чтение сообщений

// Описание параметров консумера
Параметры = Новый Соответствие;
Параметры.Вставить("auto.offset.reset", "earliest");   
Параметры.Вставить("enable.auto.commit", "false");     
Параметры.Вставить("enable.auto.offset.store", "false"); 
Параметры.Вставить("enable.partition.eof", "true");

// Инициализация и подписка на топик
КафкаКонсумер = Новый КафкаКонсумер("my-exapmle-host.local", "my-group-id", Параметры);
КафкаКонсумер.Подписаться("my-example-topic");

// Чтение циклом до конца раздела
РазрешеноЧтение = Истина;

Пока РазрешеноЧтение Цикл
    
    РезультатЧтенияСообщения = КафкаКонсумер.Прочитать();

    Если РезультатЧтенияСообщения = Неопределено Тогда
        Сообщить("РезультатЧтенияСообщения = Неопределено");
        Продолжить;
    КонецЕсли;

    Если РезультатЧтенияСообщения.ЭтоКонецРаздела Тогда
        Сообщить("РезультатЧтенияСообщения.ЭтоКонецРаздела = Истина");
        Прервать;
    КонецЕсли;
    
    ТекстСообщения = СтрШаблон("Прочитано сообщение: Топик - %1, Раздел - %2, Смещение - %3, Сообщение.Ключ - %4, Сообщение.Значение - %5",
        РезультатЧтенияСообщения.Топик, РезультатЧтенияСообщения.Раздел, РезультатЧтенияСообщения.Смещение,
        РезультатЧтенияСообщения.Сообщение.Ключ, РезультатЧтенияСообщения.Сообщение.Значение);
    
    Сообщить(ТекстСообщения);
    
    // Обработка сообщения
    ...
    
    // Фиксация смещения
    КафкаКонсумер.ЗафиксироватьСмещение(РезультатЧтенияСообщения.Топик, РезультатЧтенияСообщения.Раздел, РезультатЧтенияСообщения.Смещение);
КонецЦикла;

Список методов

Список методов и их описание будут доступны в каталоге docs

About

OneScript Confluent.Kafka wrapper

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published