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 install
Please 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 0s
You 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