Created
June 13, 2017 02:54
-
-
Save here/9446110449448cdc2fb6c20c2d8d1685 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
'use strict'; | |
console.log('Loading function'); | |
let doc = require('dynamodb-doc'); | |
let dynamo = new doc.DynamoDB(); | |
/** | |
* Provide an event that contains the following keys: | |
* | |
* - operation: one of the operations in the switch statement below | |
* - tableName: required for operations that interact with DynamoDB | |
* - payload: a parameter to pass to the operation being performed | |
*/ | |
exports.handler = (event, context, callback) => { | |
//console.log('Received event:', JSON.stringify(event, null, 2)); | |
const operation = event.operation; | |
/* | |
if (event.tableName) { | |
event.payload.TableName = event.tableName; | |
} | |
switch (operation) { | |
case 'create': | |
dynamo.putItem(event.payload, callback); | |
break; | |
case 'read': | |
dynamo.getItem(event.payload, callback); | |
break; | |
case 'update': | |
dynamo.updateItem(event.payload, callback); | |
break; | |
case 'delete': | |
dynamo.deleteItem(event.payload, callback); | |
break; | |
case 'list': | |
dynamo.scan(event.payload, callback); | |
break; | |
case 'echo': | |
callback(null, event.payload); | |
break; | |
case 'ping': | |
callback(null, 'pong'); | |
break; | |
default: | |
callback(new Error(`Unrecognized operation "${operation}"`)); | |
} | |
*/ | |
/* | |
* Lambda Header Method Models | |
* https://kennbrodhagen.net/2015/12/02/how-to-access-http-headers-using-aws-api-gateway-and-lambda/ | |
exports.handler = function(event, context) { | |
console.log('Request Headers:', event.headers); | |
console.log('Request Body', event.body); | |
context.succeed('Success'); | |
}; | |
*/ | |
// Use event.headers | |
console.log('event.headers start'); | |
console.log('Request Headers:', event.headers); | |
// integration.response.body.LocationXGeoReflector = 'duckduck'; | |
//console.log('XGeoReflector: ' + integration.response.body.LocationXGeoReflector); | |
callback(null, {"X-Geo-Reflector" : event.headers['CloudFront-Viewer-Country']}); | |
//callback(new Error(`Unrecognized operation "${operation}"`)); | |
}; | |
console.log('end of lambda definition'); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment