lulo-plugin-s3-bucket-notification
v1.1.1
Published
lulo S3 Bucket Notification creates S3 Bucket Notifications.
Downloads
2
Maintainers
Readme
lulo S3 Bucket Notification
lulo S3 Bucket Notification creates S3 Bucket Notifications.
lulo S3 Bucket Notification is a lulo plugin
Installation
$ npm install lulo-plugin-s3-bucket-notification --save
Usage
Properties
- Bucket: Bucket name. Required. Note: this value cannot be changed.
- NotificationConfiguration: Notification configurations. Required.
- Existing configurations on the bucket are kept as is.
- When updating/deleting configurations they are matched either by Id or by a combination of Arn & Events. It is recommended that you assign an Id to ensure that your configuration are not mistakenly matched and altered.
See the AWS SDK Documentation for S3::putBucketNotificationConfiguration
Important notes
If you see the error Unable to validate the following destination configurations
you need to create
permissions for S3 to trigger the Lambda function first:
Example:
"S3TriggerLambdaPermission": {
"Type": "AWS::Lambda::Permission",
"Properties": {
"Action": "lambda:InvokeFunction",
"FunctionName": "arn:aws:lambda:eu-west-1:433205128088:function:daniel-test-s3-audiofile-upload",
"SourceArn": { "Fn::Join": ["", ["arn:aws:s3:::", { "Ref": "Bucket" }]] },
"Principal": "s3.amazonaws.com"
}
}
Secondly, avoid updating/creating multiple notification resources on the same bucket simultaneously as that would create a race condition and could potentially leave your notifications in an inconsistent state. Adding/removing/updating multiple notification configurations in the same resource is fine though.
Return Values
None
Required IAM Permissions
The Custom Resource Lambda requires the following permissions for this plugin to work:
{
"Version": "2012-10-17",
"Statement": [
{
"Action": [
"s3:GetBucketNotification",
"s3:PutBucketNotification"
],
"Effect": "Allow",
"Resource": "*"
}
]
}