package lambda; import java.util.HashMap; import java.util.Map; import com.amazonaws.regions.Region; import com.amazonaws.regions.Regions; import com.amazonaws.services.dynamodbv2.AmazonDynamoDBClient; import com.amazonaws.services.dynamodbv2.model.AttributeValue; import com.amazonaws.services.dynamodbv2.model.PutItemRequest; import com.amazonaws.services.dynamodbv2.model.PutItemResult; import com.amazonaws.services.lambda.runtime.Context; import com.amazonaws.services.lambda.runtime.RequestHandler; /** * * @author markusklems * */ public class LambdaFormFunctionHandler implements RequestHandler<Object, Object> { private static AmazonDynamoDBClient dynamoDB; /** * Example object: * * {"employee_id":"1", "employee_name":"John Doh", "expense_type":"travel", * "amount": "2565.75" } */ @Override public Object handleRequest(Object input, Context context) { dynamoDB = new AmazonDynamoDBClient().withRegion(Region .getRegion(Regions.EU_WEST_1)); // TODO // Parse the input object into a DynamoDB item, e.g., by using the newItem helper method // Create a PutItemRequest and send the request at the DynamoDB table with name 'lambda-reimbursment' return "{'status':'done'}"; } /** * Helper method. * * @param employee_id * @param employee_name * @param expense_type * @param amount * @return DynamoDB item */ private static Map<String, AttributeValue> newItem(String employee_id, String employee_name, String expense_type, String amount) { Map<String, AttributeValue> item = new HashMap<String, AttributeValue>(); item.put("employee_id", new AttributeValue((String) employee_id)); item.put("employee_name", new AttributeValue((String) employee_name)); item.put("expense_type", new AttributeValue((String) expense_type)); item.put("amount", new AttributeValue().withN(amount)); return item; } }