Это .NET библиотека с набором методов, классов и интерфейсов для реализации пользовательских плагинов Monq Agent. Здесь вы можете узнать основную информацию о составе этой библиотеки. За подробной информацией по созданию пользовательских плагинов обратитесь к wiki. Также вы можете ознакомиться с примерами готовых плагинов в нашем репозитории.
- namespace Monq.Plugins.Abstractions
- interface IPluginTaskStrategy
- interface IPluginTaskPostProcessor
- interface IPluginTaskBootstrap
- namespace Monq.Plugins.Abstractions.Converters
- class DictionaryConverter
- namespace Monq.Plugins.Abstractions.Extensions
- class ObjectExtensions
- namespace Monq.Plugins.Abstractions.Exceptions
- class PluginNotConfiguredException
- namespace Monq.Plugins.Abstractions.Models
- class PluginTask
Этот интерфейс предназначен для регистрации сущностей необходимых для работы плагина:
- Cвойство
PluginTask
регистрирует стратегию выполнения задачи; - Метод
RegisterServiceProvider
регистрирует зависимости в DI контейнере агента.
Примеры реализации интерфейса: SystemInfoPlugin, SystemMetricsPlugin.
Этот интерфейс содержит только метод Process
предназначенный для обработки результата задания после его выполнения.
Этот интерфейс содержит только определение метода Run
который вызывается Monq Agent'ом при получении соответствующего задания. Здесь должна выполняться ETL логика плагина для работы с конкретным источником данных, а именно:
- Извлечение данных из источника;
- Преобразование, очистка и обогащение данных, чтобы они соответствовали потребностям дальнейшей обработки в Monq;
- Загрузка преобразованных данных в Monq с помощью API потоков данных для дальнейшей обработки.
Примеры реализации интерфейса: SystemInfoPlugin, SystemMetricsPlugin.
Это модель задания плагина. Используется агентом для поиска необходимой стратегии выполнения задания. Содержит следующие свойства:
Name
Публичное название команды. Показывается в логах.Command
Идентификатор команды. Должен быть уникальным для всех команд всех плагинов используемых в агенте. За подробной информацией об именовании команд обратитесь к разделу именование команд плагинов.ProcessorStrategyType
Тип стратегии выполнения задания. Экземпляр этого класса создается агентом при выполнении задания.PostProcessorStrategyType
Опциональное свойство. Тип стратегии обработки результатов задания. Экземпляр этого класса создается агентом после выполнения основного задания для обработки результатов.
Примеры использования класса: SystemInfoPlugin, SystemMetricsPlugin.
Класс расширения предназначенный для двусторонней конвертации моделей в словарь содержащий названия свойств и их значения. Применение этого метода описано в разделе конвертация variables в модель конфигурации задания.
Примеры использования метода: SystemInfoPlugin, SystemMetricsPlugin.
Исключение предназначенное для информирования о некорректной конфигурации плагина.
Примеры использования исключения: SystemInfoPlugin, SystemMetricsPlugin.
Класс предназначен для внутреннего использования.