From 08ae7321c1349a0da8b575a260547db020694123 Mon Sep 17 00:00:00 2001 From: Jermolene Date: Tue, 29 Aug 2017 21:41:50 +0100 Subject: [PATCH] AWS Plugin: Lambda should return list of files written to S3 --- plugins/tiddlywiki/aws/docs/lambda.tid | 6 ++++++ plugins/tiddlywiki/aws/modules/utils.js | 8 ++++++-- plugins/tiddlywiki/aws/templates/lambda/handler.tid | 6 +++++- 3 files changed, 17 insertions(+), 3 deletions(-) diff --git a/plugins/tiddlywiki/aws/docs/lambda.tid b/plugins/tiddlywiki/aws/docs/lambda.tid index b053f4d12..50da2a8b0 100644 --- a/plugins/tiddlywiki/aws/docs/lambda.tid +++ b/plugins/tiddlywiki/aws/docs/lambda.tid @@ -38,3 +38,9 @@ The Lambda boot code looks for an array of tiddlers to load in `event.tiddlers`, } ``` + +! Return data + +If the Lambda function successfully executes it returns an object with the following fields: + +* ''lambda-result'': An array of `{bucketname,key}` pairs for each file written to S3 within the lambda function diff --git a/plugins/tiddlywiki/aws/modules/utils.js b/plugins/tiddlywiki/aws/modules/utils.js index d30933467..351290b4a 100644 --- a/plugins/tiddlywiki/aws/modules/utils.js +++ b/plugins/tiddlywiki/aws/modules/utils.js @@ -20,7 +20,7 @@ title: callback: invoked with (err,{body:,type:} */ function getFile(region,bucketName,title,callback) { -console.log("Reading file from S3",bucketName,title) + console.log("Reading file from S3",bucketName,title); var AWS = require("aws-sdk"), s3bucket = new AWS.S3({ region: region @@ -46,7 +46,11 @@ console.log("Reading file from S3",bucketName,title) Put a file to an S3 bucket */ function putFile(region,bucketName,title,text,type,callback) { -console.log("Writing file to S3",bucketName,title,type) + // Log the write + if($tw["lambda-result"]) { + $tw["lambda-result"]["files-written"].push({bucket: bucketName,key: title}); + } + console.log("Writing file to S3",bucketName,title,type); var AWS = require("aws-sdk"), s3bucket = new AWS.S3({ region: region diff --git a/plugins/tiddlywiki/aws/templates/lambda/handler.tid b/plugins/tiddlywiki/aws/templates/lambda/handler.tid index 12e82395c..d1421c901 100644 --- a/plugins/tiddlywiki/aws/templates/lambda/handler.tid +++ b/plugins/tiddlywiki/aws/templates/lambda/handler.tid @@ -8,6 +8,10 @@ TiddlyWiki for AWS exports.handler = function(event,context,callback) { // Initialise the boot prefix global.$tw = _bootprefix(); + // Initialise the returned results + $tw["lambda-result"] = { + "files-written": [] + }; // Some default package info $tw.packageInfo = lambdaPackageInfo; // Load any tiddlers from the package @@ -21,6 +25,6 @@ exports.handler = function(event,context,callback) { // Boot the TW5 app _boot($tw); $tw.boot.boot(function() { - callback(null,"TiddlyWiki execution successful"); + callback(null,$tw["lambda-result"]); }); }