diff --git a/preTrafficHook.js b/preTrafficHook.js index 75f8634..e6138e7 100644 --- a/preTrafficHook.js +++ b/preTrafficHook.js @@ -54,7 +54,7 @@ exports.handler = (event, context, callback) => { // "statusCode": 200, // "body": 51 // } - if(result.body == 9){ + if(result.body == 29){ lambdaResult = "Succeeded"; console.log ("Validation testing succeeded!"); } diff --git a/returnS3Buckets.js b/returnS3Buckets.js index f633c43..87f8252 100644 --- a/returnS3Buckets.js +++ b/returnS3Buckets.js @@ -1,4 +1,4 @@ -/* +1/* * Copyright 2018 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * Permission is hereby granted, free of charge, to any person obtaining a copy of this @@ -15,30 +15,33 @@ * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ - 'use strict'; - -var AWS = require('aws-sdk'); -var s3 = new AWS.S3(); - -exports.handler = (event, context, callback) => { - console.log("I am here! " + context.functionName + ":" + context.functionVersion); - - s3.listBuckets(function (err, data){ - if(err){ - console.log(err, err.stack); - callback(null, { - statusCode: 500, - body: "Failed!" - }); - } - else{ - var allBuckets = data.Buckets; - - console.log("Total buckets: " + allBuckets.length); - callback(null, { - statusCode: 200, - body: allBuckets.length - }); - } - }); -} \ No newline at end of file +'use strict'; + +const AWS = require('aws-sdk'); +const s3 = new AWS.S3(); + +exports.handler = async (event, context) => { + console.log(`I am here! " ${context.functionName} + ":" + ${context.functionVersion}`); + let response + try { + const data = await s3.listBuckets().promise(); + const allBuckets = data.Buckets; + + console.log(`Total buckets: ${allBuckets.length}`) + + response = { + statusCode: 200, + body: allBuckets.length + }; + + } catch (error) { + console.log(`Error - `, error, error.stack); + return { + statusCode: 500, + body: JSON.stringify(error) + }; + } + + return response +} + diff --git a/returnS3BucketsNew.js b/returnS3BucketsNew.js index 39a023f..18826f4 100644 --- a/returnS3BucketsNew.js +++ b/returnS3BucketsNew.js @@ -17,39 +17,40 @@ 'use strict'; -var AWS = require('aws-sdk'); -var s3 = new AWS.S3(); - -exports.handler = (event, context, callback) => { - console.log("I am here! " + context.functionName + ":" + context.functionVersion); - - s3.listBuckets(function (err, data){ - if(err){ - console.log(err, err.stack); - callback(null, { - statusCode: 500, - body: "Failed!" - }); - } - else{ - var allBuckets = data.Buckets; - - console.log("Total buckets: " + allBuckets.length); - //callback(null, allBuckets.length); - - // New Code begins here - var counter=0; - for(var i in allBuckets){ - if(allBuckets[i].Name[0] === "a") - counter++; - } - console.log("Total buckets starting with a: " + counter); - - callback(null, { - statusCode: 200, - body: counter - }); - +const AWS = require('aws-sdk'); +const s3 = new AWS.S3(); + +exports.handler = async (event, context) => { + console.log(`I am here! " ${context.functionName} + ":" + ${context.functionVersion}`); + + let response + try { + + const data = await s3.listBuckets().promise(); + const allBuckets = data.Buckets; + + console.log(`Total buckets: ${allBuckets.length}`) + + // New Code begins here + let counter = 0; + for (var i in allBuckets) { + if (allBuckets[i].Name[0] === "a") + counter++; } - }); -} \ No newline at end of file + console.log(`Total buckets starting with a: ${counter}`); + + response = { + statusCode: 200, + body: counter + }; + + } catch (error) { + console.log(`Error - `, error, error.stack); + return { + statusCode: 500, + body: JSON.stringify(error) + }; + } + + return response +} diff --git a/template.yaml b/template.yaml index 1222a8f..1763bdf 100644 --- a/template.yaml +++ b/template.yaml @@ -8,7 +8,7 @@ Resources: Type: AWS::Serverless::Function Properties: Handler: returnS3Buckets.handler - Runtime: nodejs6.10 + Runtime: nodejs10.x AutoPublishAlias: live Policies: - Version: "2012-10-17" @@ -46,7 +46,7 @@ Resources: Action: - "lambda:InvokeFunction" Resource: !Ref returnS3Buckets.Version - Runtime: nodejs6.10 + Runtime: nodejs10.x FunctionName: 'CodeDeployHook_preTrafficHook' DeploymentPreference: Enabled: false