API Support for IQbservable, IQueryable, IQStreamable in StreamInsight
In this article
This topic summarizes the API features in StreamInsight that support event sources and sinks that implement the IQbservable or IQueryable interfaces.
API support for IQbservable/IQueryable/IQStreamable Source
The following API features support event sources that implement the IQbservable or IQueryable interfaces.
IQueryable Source
Defining inputs from IQueryable source
Define a remote sequence by using one of the following overloads for the DefineEnumerable method of the T:Microsoft.ComplexEventProcessing.Linq.RemoteProvider class.
M:Microsoft.ComplexEventProcessing.Linq.RemoteProvider.DefineEnumerable``1(Microsoft.ComplexEventProcessing.Linq.IRemoteProvider,System.Linq.Expressions.Expression{System.Func{System.Collections.Generic.IEnumerable{``0}}})
M:Microsoft.ComplexEventProcessing.Linq.RemoteProvider.DefineEnumerable``2(Microsoft.ComplexEventProcessing.Linq.IRemoteProvider,System.Linq.Expressions.Expression{System.Func{``0,System.Collections.Generic.IEnumerable{``1}}})
... overloads for up to 16 parameters ...
M:Microsoft.ComplexEventProcessing.Linq.RemoteProvider.DefineEnumerable``17(Microsoft.ComplexEventProcessing.Linq.IRemoteProvider,System.Linq.Expressions.Expression{System.Func{``0,``1,``2,``3,``4,``5,``6,``7,``8,``9,``10,``11,``12,``13,``14,``15,System.Collections.Generic.IEnumerable{``16}}})
Retrieving inputs from IQueryable source
Retrieve a remote function that returns a sequence by using one of the following overloads for the GetEnumerable method of the T:Microsoft.ComplexEventProcessing.Linq.RemoteProvider class.
Deploying inputs from IQueryable source
Deploy a remote function that returns a sequence by using one of the following overloads for the Deploy method of the T:Microsoft.ComplexEventProcessing.Linq.RemoteProvider class.
M:Microsoft.ComplexEventProcessing.Linq.RemoteProvider.Deploy``1(System.Linq.IQueryable{``0},System.String)
M:Microsoft.ComplexEventProcessing.Linq.RemoteProvider.Deploy``2(System.Func{``0,System.Linq.IQueryable{``1}},System.String)
... overloads for up to 16 parameters ...
M:Microsoft.ComplexEventProcessing.Linq.RemoteProvider.Deploy``17(System.Func{``0,``1,``2,``3,``4,``5,``6,``7,``8,``9,``10,``11,``12,``13,``14,``15,System.Linq.IQueryable{``16}},System.String)
IQbservable Source
Defining inputs from IQbservable source
Define a remote sequence by using one of the following overloads for the DefineObservable method of the T:Microsoft.ComplexEventProcessing.Linq.RemoteProvider class.
M:Microsoft.ComplexEventProcessing.Linq.RemoteProvider.DefineObservable``1(Microsoft.ComplexEventProcessing.Linq.IRemoteProvider,System.Linq.Expressions.Expression{System.Func{System.IObservable{``0}}})
M:Microsoft.ComplexEventProcessing.Linq.RemoteProvider.DefineObservable``2(Microsoft.ComplexEventProcessing.Linq.IRemoteProvider,System.Linq.Expressions.Expression{System.Func{``0,System.IObservable{``1}}})
... overloads for up to 16 parameters ...
M:Microsoft.ComplexEventProcessing.Linq.RemoteProvider.DefineObservable``17(Microsoft.ComplexEventProcessing.Linq.IRemoteProvider,System.Linq.Expressions.Expression{System.Func{``0,``1,``2,``3,``4,``5,``6,``7,``8,``9,``10,``11,``12,``13,``14,``15,System.IObservable{``16}}})
Retrieving inputs from IQbservable source
Retrieve a remote function that returns a sequence by using one of the following overloads for the GetObservable method of the T:Microsoft.ComplexEventProcessing.Linq.RemoteProvider class.
Deploying inputs from IQbservable source
Deploy a remote function that returns a sequence by using one of the following overloads for the Deploy method of the T:Microsoft.ComplexEventProcessing.Linq.RemoteProvider class.
M:Microsoft.ComplexEventProcessing.Linq.RemoteProvider.Deploy``1(System.Reactive.Linq.IQbservable{``0},System.String)
M:Microsoft.ComplexEventProcessing.Linq.RemoteProvider.Deploy``2(System.Func{``0,System.Reactive.Linq.IQbservable{``1}},System.String)
... overloads for up to 16 parameters ...
M:Microsoft.ComplexEventProcessing.Linq.RemoteProvider.Deploy``17(System.Func{``0,``1,``2,``3,``4,``5,``6,``7,``8,``9,``10,``11,``12,``13,``14,``15,System.Reactive.Linq.IQbservable{``16}},System.String)
IQStreamable Source
Defining inputs from IQStreamable source
Define a remote temporal stream by using one of the following overloads for the DefineStreamable method of the T:Microsoft.ComplexEventProcessing.Linq.RemoteProvider class.
M:Microsoft.ComplexEventProcessing.Linq.RemoteProvider.DefineStreamable``1(Microsoft.ComplexEventProcessing.Linq.IRemoteProvider,System.Linq.Expressions.Expression{System.Func{Microsoft.ComplexEventProcessing.Linq.IStreamable{``0}}})
M:Microsoft.ComplexEventProcessing.Linq.RemoteProvider.DefineStreamable``2(Microsoft.ComplexEventProcessing.Linq.IRemoteProvider,System.Linq.Expressions.Expression{System.Func{``0,Microsoft.ComplexEventProcessing.Linq.IStreamable{``1}}})
... overloads for up to 16 parameters ...
M:Microsoft.ComplexEventProcessing.Linq.RemoteProvider.DefineStreamable``17(Microsoft.ComplexEventProcessing.Linq.IRemoteProvider,System.Linq.Expressions.Expression{System.Func{``0,``1,``2,``3,``4,``5,``6,``7,``8,``9,``10,``11,``12,``13,``14,``15,Microsoft.ComplexEventProcessing.Linq.IStreamable{``16}}})
Retrieving inputs from IQStreamable source
Retrieve a remote temporal stream by using one of the following overloads for the GetStreamable method of the T:Microsoft.ComplexEventProcessing.Linq.RemoteProvider class.
Deploying inputs from IQStreamable source
Deploy a remote temporal stream by using one of the following overloads for the Deploy method of the T:Microsoft.ComplexEventProcessing.Linq.RemoteProvider class.
M:Microsoft.ComplexEventProcessing.Linq.RemoteProvider.Deploy``1(Microsoft.ComplexEventProcessing.Linq.IQStreamable{``0},System.String)
M:Microsoft.ComplexEventProcessing.Linq.RemoteProvider.Deploy``2(System.Func{``0,Microsoft.ComplexEventProcessing.Linq.IQStreamable{``1}},System.String)
... overloads for up to 16 parameters ...
M:Microsoft.ComplexEventProcessing.Linq.RemoteProvider.Deploy``17(System.Func{``0,``1,``2,``3,``4,``5,``6,``7,``8,``9,``10,``11,``12,``13,``14,``15,Microsoft.ComplexEventProcessing.Linq.IQStreamable{``16}},System.String)
API support for IQbserver and IQStreamable Sink
IQbserver Sink
Defining observers from IQbserver Sink
Define a remote observer by using one of the following overloads for the DefineObserver method of the T:Microsoft.ComplexEventProcessing.Linq.RemoteProvider class.
M:Microsoft.ComplexEventProcessing.Linq.RemoteProvider.DefineObserver``1(Microsoft.ComplexEventProcessing.Linq.IRemoteProvider,System.Linq.Expressions.Expression{System.Func{System.IObserver{``0}}})
M:Microsoft.ComplexEventProcessing.Linq.RemoteProvider.DefineObserver``2(Microsoft.ComplexEventProcessing.Linq.IRemoteProvider,System.Linq.Expressions.Expression{System.Func{``0,System.IObserver{``1}}})
... overloads for up to 16 parameters ...
M:Microsoft.ComplexEventProcessing.Linq.RemoteProvider.DefineObserver``17(Microsoft.ComplexEventProcessing.Linq.IRemoteProvider,System.Linq.Expressions.Expression{System.Func{``0,``1,``2,``3,``4,``5,``6,``7,``8,``9,``10,``11,``12,``13,``14,``15,System.IObserver{``16}}})
Retrieving observers from IQbserver Sink
Retrieve a remote observer by using one of the following overloads for the GetObserver method of the T:Microsoft.ComplexEventProcessing.Linq.RemoteProvider class.
Deploying observers from IQbserver Sink
Deploy a remote observer by using one of the following overloads for the Deploy method of the T:Microsoft.ComplexEventProcessing.Linq.RemoteProvider class.
M:Microsoft.ComplexEventProcessing.Linq.RemoteProvider.Deploy``1(Microsoft.ComplexEventProcessing.Linq.IRemoteObserver{``0},System.String)
M:Microsoft.ComplexEventProcessing.Linq.RemoteProvider.Deploy``2(System.Func{``0,Microsoft.ComplexEventProcessing.Linq.IRemoteObserver{``1}},System.String)
... overloads for up to 16 parameters ...
M:Microsoft.ComplexEventProcessing.Linq.RemoteProvider.Deploy``17(System.Func{``0,``1,``2,``3,``4,``5,``6,``7,``8,``9,``10,``11,``12,``13,``14,``15,Microsoft.ComplexEventProcessing.Linq.IRemoteObserver{``16}},System.String)
IQStreamable Sink
Defining sinks from IQStreamable Sink
Define a remote temporal stream sink by using one of the following overloads for the DefineStreamableSink method of the T:Microsoft.ComplexEventProcessing.Linq.RemoteProvider class.
M:Microsoft.ComplexEventProcessing.Linq.RemoteProvider.DefineStreamableSink``1(Microsoft.ComplexEventProcessing.Linq.IRemoteProvider,System.Type,System.Object,Microsoft.ComplexEventProcessing.EventShape,Microsoft.ComplexEventProcessing.StreamEventOrder)
M:Microsoft.ComplexEventProcessing.Linq.RemoteProvider.DefineStreamableSink``2(Microsoft.ComplexEventProcessing.Linq.IRemoteProvider,System.Linq.Expressions.Expression{System.Func{``0,Microsoft.ComplexEventProcessing.Linq.IStreamableSink{``1}}})
... overloads for up to 16 parameters ...
M:Microsoft.ComplexEventProcessing.Linq.RemoteProvider.DefineStreamableSink``17(Microsoft.ComplexEventProcessing.Linq.IRemoteProvider,System.Linq.Expressions.Expression{System.Func{``0,``1,``2,``3,``4,``5,``6,``7,``8,``9,``10,``11,``12,``13,``14,``15,Microsoft.ComplexEventProcessing.Linq.IStreamableSink{``16}}})
Retrieving sinks from IQStreamable Sink
Retrieve a remote temporal stream sink by using one of the following overloads for the GetStreamableSink method of the T:Microsoft.ComplexEventProcessing.Linq.RemoteProvider class.
Deploying sinks from IQStreamable Sink
Deploy a remote temporal stream sink by using one of the following overloads for the Deploy method of the T:Microsoft.ComplexEventProcessing.Linq.RemoteProvider class.
M:Microsoft.ComplexEventProcessing.Linq.RemoteProvider.Deploy``1(Microsoft.ComplexEventProcessing.Linq.IRemoteStreamableSink{``0},System.String)
M:Microsoft.ComplexEventProcessing.Linq.RemoteProvider.Deploy``2(System.Func{``0,Microsoft.ComplexEventProcessing.Linq.IRemoteStreamableSink{``1}},System.String)
... overloads for up to 16 parameters ...
M:Microsoft.ComplexEventProcessing.Linq.RemoteProvider.Deploy``17(System.Func{``0,``1,``2,``3,``4,``5,``6,``7,``8,``9,``10,``11,``12,``13,``14,``15,Microsoft.ComplexEventProcessing.Linq.IRemoteStreamableSink{``16}},System.String)
API support for Subject
A subject is a named, running artifact that enables runtime composition. A subject implements both the IObservable and IObserver interfaces, enabling it to both subscribe to observable sources and accept observer subscriptions. For more information, see StreamInsight Concepts .
The following API features support event sources that implement the Subject interfaces.
API support for Binding
The following summarizes the API features in StreamInsight that support Binding , an executable composition over sources (IQbservable , IQueryable , IQStreamable ), sinks (IQbserver , IQStreamableSink ), or subjects.
M:Microsoft.ComplexEventProcessing.Linq.RemoteProvider.Bind``1(System.Linq.IQueryable{``0},Microsoft.ComplexEventProcessing.Linq.IRemoteObserver{``0})
M:Microsoft.ComplexEventProcessing.Linq.RemoteProvider.Bind``1(System.Reactive.Linq.IQbservable{``0},Microsoft.ComplexEventProcessing.Linq.IRemoteObserver{``0})
M:Microsoft.ComplexEventProcessing.Linq.RemoteProvider.Bind``1(Microsoft.ComplexEventProcessing.Linq.IQStreamable{``0},Microsoft.ComplexEventProcessing.Linq.IRemoteObserver{Microsoft.ComplexEventProcessing.EdgeEvent{``0}})
M:Microsoft.ComplexEventProcessing.Linq.RemoteProvider.Bind``1(Microsoft.ComplexEventProcessing.Linq.IQStreamable{``0},Microsoft.ComplexEventProcessing.Linq.IRemoteObserver{Microsoft.ComplexEventProcessing.IntervalEvent{``0}})
M:Microsoft.ComplexEventProcessing.Linq.RemoteProvider.Bind``1(Microsoft.ComplexEventProcessing.Linq.IQStreamable{``0},Microsoft.ComplexEventProcessing.Linq.IRemoteObserver{Microsoft.ComplexEventProcessing.PointEvent{``0}})
M:Microsoft.ComplexEventProcessing.Linq.RemoteProvider.Bind``1(Microsoft.ComplexEventProcessing.Linq.IQStreamable{``0},Microsoft.ComplexEventProcessing.Linq.IRemoteObserver{``0})
M:Microsoft.ComplexEventProcessing.Linq.RemoteProvider.Bind``1(Microsoft.ComplexEventProcessing.Linq.IQStreamable{``0},Microsoft.ComplexEventProcessing.Linq.IRemoteStreamableSink{``0})
M:Microsoft.ComplexEventProcessing.Linq.RemoteProvider.Bind``1(Microsoft.ComplexEventProcessing.Linq.IQStreamable{``0},System.Func{System.Nullable{System.DateTimeOffset},System.Int32,Microsoft.ComplexEventProcessing.Linq.IRemoteObserver{Microsoft.ComplexEventProcessing.EdgeEvent{``0}}})
M:Microsoft.ComplexEventProcessing.Linq.RemoteProvider.Bind``1(Microsoft.ComplexEventProcessing.Linq.IQStreamable{``0},System.Func{System.Nullable{System.DateTimeOffset},System.Int32,Microsoft.ComplexEventProcessing.Linq.IRemoteObserver{Microsoft.ComplexEventProcessing.IntervalEvent{``0}}})
M:Microsoft.ComplexEventProcessing.Linq.RemoteProvider.Bind``1(Microsoft.ComplexEventProcessing.Linq.IQStreamable{``0},System.Func{System.Nullable{System.DateTimeOffset},System.Int32,Microsoft.ComplexEventProcessing.Linq.IRemoteObserver{Microsoft.ComplexEventProcessing.PointEvent{``0}}})
M:Microsoft.ComplexEventProcessing.Linq.RemoteProvider.Bind``1(System.Linq.IQueryable{``0},Microsoft.ComplexEventProcessing.Linq.IRemoteObserver{``0},System.Reactive.Concurrency.IScheduler)
API support for Bridge methods
To Temporal Stream
From IQueryable :
From IQbservable :
M:Microsoft.ComplexEventProcessing.Linq.RemoteProvider.ToStreamable``1(System.Reactive.Linq.IQbservable{Microsoft.ComplexEventProcessing.EdgeEvent{``0}},Microsoft.ComplexEventProcessing.AdvanceTimeSettings)
M:Microsoft.ComplexEventProcessing.Linq.RemoteProvider.ToStreamable``1(System.Reactive.Linq.IQbservable{Microsoft.ComplexEventProcessing.IntervalEvent{``0}},Microsoft.ComplexEventProcessing.AdvanceTimeSettings)
M:Microsoft.ComplexEventProcessing.Linq.RemoteProvider.ToStreamable``1(System.Reactive.Linq.IQbservable{Microsoft.ComplexEventProcessing.PointEvent{``0}},Microsoft.ComplexEventProcessing.AdvanceTimeSettings)
M:Microsoft.ComplexEventProcessing.Linq.RemoteProvider.ToPointStreamable``2(System.Reactive.Linq.IQbservable{``0},System.Linq.Expressions.Expression{System.Func{``0,Microsoft.ComplexEventProcessing.PointEvent{``1}}},Microsoft.ComplexEventProcessing.AdvanceTimeSettings)
M:Microsoft.ComplexEventProcessing.Linq.RemoteProvider.ToIntervalStreamable``2(System.Reactive.Linq.IQbservable{``0},System.Linq.Expressions.Expression{System.Func{``0,Microsoft.ComplexEventProcessing.IntervalEvent{``1}}},Microsoft.ComplexEventProcessing.AdvanceTimeSettings)
M:Microsoft.ComplexEventProcessing.Linq.RemoteProvider.ToEdgeStreamable``2(System.Reactive.Linq.IQbservable{``0},System.Linq.Expressions.Expression{System.Func{``0,Microsoft.ComplexEventProcessing.EdgeEvent{``1}}},Microsoft.ComplexEventProcessing.AdvanceTimeSettings)
To IQueryable
From IQStreamable :
From IQbservable :
To IQbservable
From IQueryable :
From IQStreamable :
See Also
Using Event Sources and Event Sinks (StreamInsight)