S3 - AWS Serverless Application Model

S3

The object describing an S3 event source type.

Syntax

To declare this entity in your AWS Serverless Application Model (AWS SAM) template, use the following syntax.

YAML

Bucket: String Events: String | List Filter: NotificationFilter

Properties

Bucket

S3 bucket name. This bucket must exist in the same template.

Type: String

Required: Yes

AWS CloudFormation compatibility: This property is similar to the BucketName property of an AWS::S3::Bucket resource. This is a required field in SAM. This field only accepts a reference to the S3 bucket created in this template

Events

The Amazon S3 bucket event for which to invoke the AWS Lambda function. See Amazon S3 supported event types for a list of valid values.

Type: String | List

Required: Yes

AWS CloudFormation compatibility: This property is passed directly to the Event property of the AWS::S3::Bucket LambdaConfiguration data type.

Filter

The filtering rules that determine which Amazon S3 objects invoke the Lambda function. For information about Amazon S3 key name filtering, see Configuring Amazon S3 Event Notifications in the Amazon Simple Storage Service Developer Guide.

Type: NotificationFilter

Required: No

AWS CloudFormation compatibility: This property is passed directly to the Filter property of the AWS::S3::Bucket LambdaConfiguration data type.

Examples

S3-Event

Example of an S3 Event.

YAML

Events: S3Event: Type: S3 Properties: Bucket: Ref: ImagesBucket # This must be the name of an S3 bucket declared in the same template file Events: s3:ObjectCreated:* Filter: S3Key: Rules: - Name: prefix # or "suffix" Value: value # The value to search for in the S3 object key names