Buen dia ,
En este articulo les comparto como crear una funciòn Lambda la cual genera un simple insert a una base de datos Dynamodb.
Lo primero que debemos realizar es crear una tabla en Dynamodb , esta la llamaremos inserts y configuraremos la key con el nombre Data de tipo (ej:Number)
Ahora vamos a copiar el nombre de arn de la tabla y vamos a ingresar en IAM, dentro vamos a generar un nuevo rol llamado ‘simple_lamba_insert_dynamo’.
Y le vamos a asignar por default las politicas de aws AWSLambdaBasicExecutionRole and AmazonDynamoDBFullAccess, luego vamos a generar una nueva policita en linea con nuestro arn.
policy_simple_lambda_to_dynamo:
{ "Version": "2012-10-17", "Statement": [ { "Sid": "Stmt1507744968000", "Effect": "Allow", "Action": [ "dynamodb:*" ], "Resource": [ "arn:aws:dynamodb:us-west-2:881653854182:table/inserts" ] } ] }
El role nos deberia quedar algo asi:
Ahora vamos a generar la funcion Lambda:
Luego ingresamos el siguiente codigo en la funcion y renombramos el handler como index.handle
console.log('starting function'); const AWS = require('aws-sdk'); const docClient = new AWS.DynamoDB.DocumentClient({region: 'us-west-2'}); exports.handle = function(event, context, callback) { var params = { Item: { Data: Date.now(), message: "Hello this is a simple Lambda function" }, TableName: 'inserts' }; docClient.put(params, function(err, Data){ if(err){ callback(err, null); }else{ callback(null, Data); } }); };
Guardamos el event y le damos a Test. Si todo salio bien ya deberiamos tener datos dentro de nuestra base da datos DynamoDB.
Recent Comments