summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoe Robinson <joe.robinson@masabi.com>2018-01-24 18:42:23 +0000
committerJoe Robinson <joe.robinson@masabi.com>2018-01-24 18:42:23 +0000
commitbb434d8aefbbcc969f956960ed0b7ce76baef346 (patch)
treeded6dcf9b8bb9a978a7a01ff5c27e8ab2a23f54a
parentc833eab89e873c15b60d2dae04561e6d3af974f7 (diff)
Copy handler.js to index.js for lambda
-rw-r--r--index.js26
1 files changed, 26 insertions, 0 deletions
diff --git a/index.js b/index.js
new file mode 100644
index 0000000..4f5c9cb
--- /dev/null
+++ b/index.js
@@ -0,0 +1,26 @@
+'use strict';
+
+const fetch = require('node-fetch');
+const AWS = require('aws-sdk'); // eslint-disable-line import/no-extraneous-dependencies
+
+const s3 = new AWS.S3();
+
+module.exports.save = (event, context, callback) => {
+ fetch(event.image_url)
+ .then((response) => {
+ if (response.ok) {
+ return response;
+ }
+ return Promise.reject(new Error(
+ `Failed to fetch ${response.url}: ${response.status} ${response.statusText}`));
+ })
+ .then(response => response.buffer())
+ .then(buffer => (
+ s3.putObject({
+ Bucket: process.env.BUCKET,
+ Key: event.key,
+ Body: buffer,
+ }).promise()
+ ))
+ .then(v => callback(null, v), callback);
+};