Common settings
About 1 min
Common settings
All sinks share a common set of configuration options that can be used to customize their behavior.
Instance configuration
Name | Details |
---|---|
InstanceTypeName | required Type: string Description: The name of the instance type for the sink. |
Subscription configuration
Name | Details |
---|---|
Subscription.Filter.Scope | Type: enum Description: Events can be filtered by Stream or Record scopes using either regular expressions, JsonPath expressions, or prefixes. The expression is first checked as a regex, then as JsonPath, and if neither, it's used as a prefix for filtering. Accepted Values: - Unspecified - Stream - Record .Default: Unspecified |
Subscription.Filter.Expression | Type: string Description: A regex or JsonPath expression to filter records. Default: "" |
Subscription.InitialPosition | Type: enum Description: Where to start consuming events from. Accepted Values: - Latest - Earliest .Default: Latest |
Warning
JsonPath filters apply exclusively to events with the application/json
content type. By default, if no filter is specified, the system will consume from the $all
stream, excluding system events.
Example usage of stream ID prefix filter
{
"InstanceTypeName": "EventStore.Connectors.Http.HttpSink",
"Subscription:Filter:Scope": "Stream",
"Subscription:Filter:Expression": "prefix_"
}
Example usage of record regex filter
{
"InstanceTypeName": "EventStore.Connectors.Http.HttpSink",
"Subscription:Filter:Scope": "Record",
"Subscription:Filter:Expression": "^eventType.*"
}
Example usage of JsonPath filter
The following objects are accessible to the filter:
- System metadata via $, for example $.eventType or $.stream
- Event data via $.data, for example $.data.name or $.data.age
- Event metadata via $.metadata, for example $.metadata.user or $.metadata.correlationId
{
"InstanceTypeName": "EventStore.Connectors.Http.HttpSink",
"Url": "https://enf4k0vsrz29w.x.pipedream.net/",
"Subscription:Filter:Scope": "Record",
"Subscription:Filter:Expression": "$[?($.data.testField=='testValue')]"
}
Tips
Learn more about JsonPath. You can also use the JsonPath Playground to test your expressions.
Transformation configuration
Name | Details |
---|---|
Transformer.Enabled | Type: bool Description: Enables or disables the event transformer. Default: false |
Transformer.Function | Type: string Description: Base64 encoded JavaScript function for transforming events. Default: "" |
Transformer.FunctionName | Type: string Description: Name of the transformation function.There should be a function present in the script with this name. Default: transform |
Transformer.ExecutionTimeoutMs | Type: int Description: Maximum time in milliseconds the transform function is allowed to execute. Default: 3000 |
Example configuration for transformation
{
"Transformer:Enabled": "true",
"Transformer:FunctionName": "transform",
"Transformer:Function": "ZnVuY3Rpb24gdHJhbnNmb3JtKHRyYW5zZm9ybVJlY29yZCkgewogIGxldCB7IFZhbHVlLCBIZWFkZXJzIH0gPSB0cmFuc2Zvcm1SZWNvcmQ7CiAgcmV0dXJuIHsKICAgIC4uLnRyYW5zZm9ybVJlY29yZCwKICAgIFZhbHVlOiB7CiAgICAgIE5hbWU6IFZhbHVlLkZpcnN0TmFtZSArICcgJyArIFZhbHVlLkxhc3ROYW1lCiAgICB9CiAgfTsKfQo="
}
For an example of how to use transformations, refer to the Quick start section.