bragg middleware to process s3 triggers
$ npm install bragg-s3
The routing is decided based on the event type
Event name | Method |
---|---|
ObjectCreated:* | post |
ObjectCreated:Put | post |
ObjectCreated:Post | post |
ObjectCreated:Copy | post |
ObjectCreated:CompleteMultipartUpload | post |
ObjectRemoved:* | delete |
ObjectRemoved:Delete | delete |
ObjectRemoved:DeleteMarkerCreated | delete |
ObjectRestore:Post | post |
ObjectRestore:Completed | post |
ReducedRedundancyLostObject | post |
const app = require('bragg')();
const router = require('bragg-router')();
const s3 = require('bragg-s3');
// Listen for events in the `TopicName` topic
router.post('s3:triggerName', ctx => {
ctx.body = ctx.request.body; // [{bucket: 'someBucket', key: 'foo.jpg', eventName: 'ObjectCreated:Put'}]
});
app.use(s3());
app.use(router.routes());
exports.handler = app.listen();
The s3:
prefix is added before the name of the S3 trigger. The bucket
, key
and eventName
are provided in the body
of the request
object. Routing is decided by the configurationId
provided in the request. This can be a UUID when the trigger is created using AWS CloudFormation.
Add the bragg S3 middleware to the middleware pipeline.
MIT © Simon