Adattatori di input e di output (modello legacy)

 

Gli adattatori di input e di output sono stati introdotti in una versione precedente di StreamInsight. Sebbene siano stati sostituiti dal modello di sviluppo attuale, sono ancora disponibili per gli sviluppatori che mantengono il codice legacy. In questa sezione vengono fornite informazioni su questo modello legacy. Per ulteriori informazioni sul modello di sviluppo attuale, vedere Guida per gli sviluppatori (StreamInsight).

Gli adattatori traducono e recapitano i flussi di eventi in entrata e in uscita da e verso il server StreamInsight. StreamInsight fornisce un SDK per adattatori estremamente flessibile che consente di compilare adattatori per le origini evento e i dispositivi di output (sink) specifici del dominio. Gli adattatori vengono implementati nel linguaggio di programmazione C# e archiviati come assembly. Le classi degli adattatori vengono create come modelli durante la fase di progettazione e registrate nel server StreamInsight. Vengono quindi create le istanze di tali classi come istanze degli adattatori nel server durante la fase di esecuzione.

Adattatori di input

L'istanza di un adattatore di input accetta flussi di eventi in entrata da origini esterne quali database, file, feed di ticker, porte di rete, sensori e così via. L'adattatore di input legge gli eventi in entrata nel formato in cui vengono forniti e traduce tali dati nel formato di evento supportato dal server StreamInsight.

È necessario creare un adattatore di input per gestire le origini evento specifiche per l'origine dati. Se l'origine evento produce un solo tipo di evento, l'adattatore può essere tipizzato. Ovvero, è possibile implementare l'adattatore per generare eventi di un determinato tipo. Con un adattatore tipizzato, tutte le istanze dell'adattatore producono lo stesso formato di payload fisso in cui il numero di campi e i relativi tipi è noto in anticipo. Esempi di tali eventi sono dati di feed di ticker o dati del sensore generati da un dispositivo specifico. Se l'origine evento genera tipi diversi in circostanze diverse, ovvero se gli eventi possono contenere formati di payload diversi o se il formato di payload non è noto in anticipo, implementare un adattatore non tipizzato. Con un adattatore non tipizzato (generico), il formato di payload di eventi viene fornito dall'adattatore come parte di una specifica di configurazione in fase di associazione query. Esempi di origini di questo tipo includono file CSV contenenti un numero di campi variabile, in cui il tipo di dati archiviato nel file non è noto fino alla fase di creazione dell'istanza della query oppure un adattatore per tabelle di database or your report server without the permission of the system administrator. in cui gli eventi generati dipendono dallo schema della tabella. È importante notare che, in fase di esecuzione, una sola istanza dell'adattatore, tipizzato o non tipizzato, genera sempre eventi di un tipo specifico. Gli adattatori non tipizzati forniscono un'implementazione flessibile per accettare la specifica del tipo di evento in fase di associazione query anziché definire il tipo di evento al momento dell'implementazione dell'adattatore.

Adattatori di output

È necessario creare un adattatore di output per ricevere gli eventi elaborati dal server StreamInsight, tradurre gli eventi in un formato previsto dal dispositivo di output (sink) e generare i dati in tale dispositivo. La progettazione e la creazione di un adattatore di output sono simili alla progettazione e alla creazione di un adattatore di input. Gli adattatori di output tipizzati sono progettati in base a un payload di eventi specifico, mentre per quelli non tipizzati il tipo di evento viene fornito solo in fase di esecuzione durante la creazione dell'istanza della query.

Per ulteriori informazioni, vedere Creazione di adattatori di input e di output. L'API dell'adattatore di base fornisce la flessibilità massima per l'implementazione rispetto a qualsiasi di origine evento o sink di evento. Inoltre, StreamInsight supporta origini evento e sink a un livello superiore di astrazione che implementano le interfacce IObservable o IEnumerable. Per ulteriori informazioni, vedere Utilizzo di origini e sink di evento (StreamInsight).

Vedere anche

Adeguamento degli adattatori nell'architettura del server StreamInsight
Creazione di adattatori di input e di output