trying to write code with batchwrite, but it isn't reachable, it's not working, also I'm try make with examples, but it's not work, and I'm getting 200 status code but there is not response body, if I will throw an error inside a batch, it will not work, so, I need help, have any Idea why it doesn't work, or do you see some mistake?
"use strict";
const AWS = require("aws-sdk");
const dbClient = new AWS.DynamoDB.DocumentClient();
exports.handler = async (event) => {
let body;
let statusCode = 200;
const headers = {
"Content-Type": "application/json",
};
try {
if (event.routeKey === "POST /users") {
let users = [];
const requestJSON = JSON.parse(event.body);
requestJSON.forEach((user) => {
users.push({
PutRequest: {
Item: {
id: user.id,
registrationService: user.registrationService || "",
givenName: user.givenName || "",
familyName: user.familyName || "",
title: user.title || "",
postalCode: user.postalCode || "",
phone: user.phone || "",
addressLine: user.addressLine || "",
crmMemberId: user.crmMemberId || "",
userStatus: user.userStatus || "",
language: user.language || "",
gender: user.gender || "",
},
},
});
});
let params = {
RequestItems: {
usersTable: users,
},
};
dbClient.batchWrite(params, function (err) {
if (err) {
throw err;
}
body = users;
});
} else {
throw new Error(`Unsupported route: "${event.routeKey}"`);
}
} catch (err) {
statusCode = 400;
body = err.message;
}
return {
statusCode,
body,
headers,
};
};