输入和输出适配器(旧模型)
输入和输出适配器是在较早版本的 StreamInsight 中引入的。 尽管这些适配器已被当前开发模型所取代,但维护旧代码的开发人员仍然可以使用它们。 本节提供有关此旧模型的信息。 有关当前开发模型的详细信息,请参阅开发人员指南 (StreamInsight)。
适配器转换并传送进出 StreamInsight 服务器的传入和传出事件流。 StreamInsight 提供高度灵活的适配器 SDK,可帮助您为自己的域特定事件源和输出设备(接收器)生成适配器。 适配器使用 C# 编程语言实现,并存储为程序集。 适配器类在设计时作为模板来创建,在 StreamInsight 服务器中进行注册,在运行时作为适配器实例在服务器中进行实例化。
输入适配器
输入适配器实例从外部源(如数据库、文件、股票资讯、网络端口和传感器等)接受传入事件流。 输入适配器用提供传入事件的原有格式读取传入事件,然后将此数据转换为 StreamInsight 服务器所用的事件格式。
您将创建一个输入适配器来为您的数据源处理特定事件源。 如果事件源只产生单个事件类型,则可以特型化此适配器。 也就是说,实现适配器来发出一种特定事件类型的事件。 使用特型适配器,适配器的所有实例都产生相同的固定负载格式,这种格式使您能够提前知道字段的数量和类型。 这类事件的示例包括:股票资讯数据,特定设备发送的传感器数据等。 如果您的事件源在不同情况下发出不同的类型,也就是说,事件中可能包含不同的负载格式,或者可能无法提前知道负载格式,则实现泛型适配器。 借助于泛型适配器,在查询绑定时间,事件负载格式会作为配置规范的一部分提供给适配器。 此类源的示例包括:包含不定数量字段的 CSV 文件,其中,存储在文件中的数据类型不得而知,直到查询实例化时为止;database or your report server without the permission of the system administrator. 表的适配器,其中,生成的事件取决于表的架构。 尤须注意,在运行时,单个适配器实例(无论是特型还是泛型)都始终发出某一特定类型的事件。 泛型适配器在查询绑定时提供灵活的实现来接受事件类型的指定,而不是在实现适配器时定义事件类型。
输出适配器
您将创建一个输出适配器模板来接收 StreamInsight 服务器处理的事件,将事件转换为输出设备(接收器)所需的格式,然后将数据发送给该设备。 输出适配器的设计和创建过程与输入适配器类似。 特型输出适配器针对特定的事件负载而设计,而泛型输出适配器仅当在实例化查询时,在运行时随事件类型提供。
有关详细信息,请参阅创建输入和输出适配器。 核心适配器 API 提供最大程度的灵活性,可针对任何事件源或事件接收器实现操作。 此外,StreamInsight 还在更高抽象级别上支持实现 IObservable 或 IEnumerable 接口的事件源和接收器。 有关详细信息,请参阅使用事件源和事件接收器 (StreamInsight)。