A thumbnail generator example using Minio's listenBucketNotification API. This is a simple example of how one can build a AWS Lambda like functionality on a laptop.
Dependencies are managed by npm use npm install.
npm installPlease edit config/development.json with your local parameters, currently the example points to https://play.minio.io:9000
This example works only with Minio server using an extended API
Once configured proceed to run.
node thumbnail.js
Listening for events on "images"Now upload an image using mc
mc cp ./toposort/graph.jpg play/images/
./toposort/graph.jpg: 34.29 KB / 34.29 KB ┃▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓┃ 100.00% 386.91 KB/s 0sYou will see thumbnail being generated after uploading the image using mc.
node thumbnail.js
Listening for events on "images"
Uploading new thumbail to "images-processed"
Successfully generated "graph-thumbnail.jpg" with md5sum "ca78ee1cc48358b4dbd883a589523e54"To validate if the thumbnail was created at destination bucket use mc.
mc ls play/images-processed
[2017-01-22 23:44:51 PST] 629B graph-thumbnail.jpg