S3EventSourceProps Struct
Example
ts
import * as s3 from 'aws-cdk-lib/aws-s3';
import { S3EventSource } from 'aws-cdk-lib/aws-lambda-event-sources';
const bucket = new s3.Bucket(this, 'mybucket');
declare const fn: lambda.Function;
fn.addEventSource(new S3EventSource(bucket, {
events: [ s3.EventType.OBJECT_CREATED, s3.EventType.OBJECT_REMOVED ],
filters: [ { prefix: 'subdir/' } ], // optional
}));
python
import aws_cdk.aws_s3 as s3
from aws_cdk.aws_lambda_event_sources import S3EventSource
# fn: lambda.Function
bucket = s3.Bucket(self, "mybucket")
fn.add_event_source(S3EventSource(bucket,
events=[s3.EventType.OBJECT_CREATED, s3.EventType.OBJECT_REMOVED],
filters=[s3.NotificationKeyFilter(prefix="subdir/")]
))
java
import software.amazon.awscdk.services.s3.*;
import software.amazon.awscdk.services.lambda.eventsources.S3EventSource;
Function fn;
Bucket bucket = new Bucket(this, "mybucket");
fn.addEventSource(S3EventSource.Builder.create(bucket)
.events(List.of(EventType.OBJECT_CREATED, EventType.OBJECT_REMOVED))
.filters(List.of(NotificationKeyFilter.builder().prefix("subdir/").build()))
.build());
csharp
// Install: dotnet add package Amazon.CDK.Lib
using Amazon.CDK.AWS.S3;
using Amazon.CDK.AWS.Lambda.EventSources;
Function fn;
var bucket = new Bucket(this, "mybucket");
fn.AddEventSource(new S3EventSource(bucket, new S3EventSourceProps {
Events = new [] { EventType.OBJECT_CREATED, EventType.OBJECT_REMOVED },
Filters = new [] { new NotificationKeyFilter { Prefix = "subdir/" } }
}));
go
// Install: go get github.com/aws/aws-cdk-go/awscdk/v2
import "github.com/aws/aws-cdk-go/awscdk"
import "github.com/aws/aws-cdk-go/awscdk"
var fn Function
bucket := s3.NewBucket(this, jsii.String("mybucket"))
fn.AddEventSource(awscdk.NewS3EventSource(bucket, &S3EventSourceProps{
Events: []EventType{
s3.EventType_OBJECT_CREATED,
s3.EventType_OBJECT_REMOVED,
},
Filters: []NotificationKeyFilter{
&NotificationKeyFilter{
Prefix: jsii.String("subdir/"),
},
},
}))
Properties
eventsEventType[]eventstyping.List[EventType]eventsList<EventType>EventsEventType[]Events*[]EventTyperequired#The s3 event types that will trigger the notification.
filtersoptionalNotificationKeyFilter[]filtersoptionaltyping.List[NotificationKeyFilter]filtersoptionalList<NotificationKeyFilter>FiltersoptionalNotificationKeyFilter[]Filtersoptional*[]NotificationKeyFilter#S3 object key filter rules to determine which objects trigger this event.
Each filter must include a prefix and/or suffix that will be matched against the s3 object key. Refer to the S3 Developer Guide for details about allowed filter rules.