Skip to content
v2.275.0

Experimental

@aws-cdk/aws-pipes-alpha is an experimental (alpha) package: its API may change in any release, without a major version bump.

FilterPattern Class ​

Generate a filter pattern from an input.

Example ​

ts
declare const sourceQueue: sqs.Queue;
declare const targetQueue: sqs.Queue;

const sourceFilter = new pipes.Filter(
  [
    pipes.FilterPattern.fromObject({
      body: {
        // only forward events with customerType B2B or B2C
        customerType: ['B2B', 'B2C']
      },
    })
  ]
)

const pipe = new pipes.Pipe(this, 'Pipe', {
  source: new SqsSource(sourceQueue),
  target: new SqsTarget(targetQueue),
  filter: sourceFilter,
});
python
# source_queue: sqs.Queue
# target_queue: sqs.Queue


source_filter = pipes.Filter([
    pipes.FilterPattern.from_object({
        "body": {
            # only forward events with customerType B2B or B2C
            "customer_type": ["B2B", "B2C"]
        }
    })
])

pipe = pipes.Pipe(self, "Pipe",
    source=SqsSource(source_queue),
    target=SqsTarget(target_queue),
    filter=source_filter
)
java
Queue sourceQueue;
Queue targetQueue;


Filter sourceFilter = new Filter(List.of(FilterPattern.fromObject(Map.of(
        "body", Map.of(
                // only forward events with customerType B2B or B2C
                "customerType", List.of("B2B", "B2C"))))));

Pipe pipe = Pipe.Builder.create(this, "Pipe")
        .source(new SqsSource(sourceQueue))
        .target(new SqsTarget(targetQueue))
        .filter(sourceFilter)
        .build();
csharp
// Install: dotnet add package Amazon.CDK.AWS.Pipes.Alpha
Queue sourceQueue;
Queue targetQueue;


var sourceFilter = new Filter(new [] { FilterPattern.FromObject(new Dictionary<string, object> {
    { "body", new Dictionary<string, string[]> {
        // only forward events with customerType B2B or B2C
        { "customerType", new [] { "B2B", "B2C" } }
    } }
}) });

var pipe = new Pipe(this, "Pipe", new PipeProps {
    Source = new SqsSource(sourceQueue),
    Target = new SqsTarget(targetQueue),
    Filter = sourceFilter
});
go
// Install: go get github.com/aws/aws-cdk-go/awscdkpipesalpha/v2
var sourceQueue Queue
var targetQueue Queue


sourceFilter := pipes.NewFilter([]IFilterPattern{
	pipes.FilterPattern_FromObject(map[string]interface{}{
		"body": map[string][]*string{
			// only forward events with customerType B2B or B2C
			"customerType": []*string{
				jsii.String("B2B"),
				jsii.String("B2C"),
			},
		},
	}),
})

pipe := pipes.NewPipe(this, jsii.String("Pipe"), &PipeProps{
	Source: awscdkpipessourcesalpha.NewSqsSource(sourceQueue),
	Target: awscdkpipestargetsalpha.NewSqsTarget(targetQueue),
	Filter: sourceFilter,
})

Initializer ​

ts
new FilterPattern()
python
FilterPattern()
java
new FilterPattern()
csharp
new FilterPattern()
go
NewFilterPattern()

Methods ​

fromObject(patternObject: { [key: string]: any }): IFilterPattern@staticmethod def from_object(pattern_object: typing.Mapping[str, Any]) -> IFilterPatternpublic static IFilterPattern fromObject(Map<String, Object> patternObject)public static IFilterPattern FromObject(IDictionary<string, object> patternObject)func FromObject(PatternObject *map[string]interface{}) IFilterPatternstatic#
Generates a filter pattern from a JSON object.