lulo-plugin-s3-bucket-notification
v1.1.1
Published
lulo S3 Bucket Notification creates S3 Bucket Notifications.
Downloads
22
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": "*"
}
]
}