У меня есть следующий код, который сканирует таблицу DynamoDB и возвращает результат, но без тела отображается только заголовок ответа!
import { success, failure } from "../../libs/response-lib";
const AWS = require('aws-sdk');
const docClint = new AWS.DynamoDB.DocumentClient({region: 'eu-central-1'});
export async function main() {
let params = {
TableName: "brands",
limit: 100
};
try {
const a = await docClint.scan(params);
return success(a.Items);
} catch (e) {
return failure({ status: false });
}
}
хотя в другом js-файле я использую другой способ получить элемент из таблицы DynamoDB с помощью библиотеки DynamoDB, и он работает нормально, вот рабочий код:
import * as dynamoDbLib from "../../libs/dynamodb-lib";
import { success, failure } from "../../libs/response-lib";
export async function main(event, context) {
const params = {
TableName: "orders",
KeyConditionExpression: "userId = :userId",
ExpressionAttributeValues: {
":userId": event.requestContext.identity.cognitoIdentityId
}
};
try {
const result = await dynamoDbLib.call("query", params);
return success(result.Items);
} catch (e) {
console.log(e);
return failure({ status: false });
}
}
Я изменил способ запроса к базе данных, потому что у меня нет ни одного ExpressionAttributeValues для запроса, если есть лучший подход, предложите его.