lulo-plugin-s3-bucket-notification

1.1.1 • Public • Published

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": "*"
    }
  ]
}

License

The MIT License (MIT)

Change Log

Change Log

Package Sidebar

Install

npm i lulo-plugin-s3-bucket-notification

Weekly Downloads

8

Version

1.1.1

License

MIT

Unpacked Size

40.6 kB

Total Files

11

Last publish

Collaborators

  • polythene