У меня есть лямбда-функция для запроса данных из таблицы DynamoDB. Лямбда-функция выглядит следующим образом:
'use strict';
var AWS = require('aws-sdk'),
documentClient = new AWS.DynamoDB.DocumentClient();
exports.listItems = function(event, context, callback){
var params = {
TableName : event.tablename,
IndexName : "active_flag-index",
KeyConditionExpression: "#active = :active",
FilterExpression: "#deliverable = :deliverable and #type = :type",
ProjectionExpression: "#name, price, item_description, item_type",
ExpressionAttributeNames:{
"#active": "active_flag",
"#deliverable": "deliverable_flag",
"#name": "name",
"#type": "item_type"
},
ExpressionAttributeValues: {
":active": "active",
":deliverable": "deliverable",
":type": event.type
}
};
documentClient.query(params, function(err, data) {
if (err) {
console.error("Unable to query. Error:", JSON.stringify(err, null, 2));
} else {
console.log("Query succeeded.");
data.Items.forEach(function(item) {
console.log(" -", item.name + ": " + item.price);
});
}
});
}
Параметры теста
{
"tablename": "vijayarams_items",
"тип": "основное блюдо"
}
Используя параметры этого теста, элементы, соответствующие основному блюду, извлекаются успешно. Теперь я не уверен, как передать эти параметры, используя API для вызова этой лямбда-функции. Я создал API с методом GET, но метод GET не использует тело запроса для отправки параметров. Пожалуйста, расскажите мне, как действовать дальше. Я могу создавать таблицы, обновлять элементы, используя метод POST, используя AJAX и передавая параметры в тело. Я просто не могу запросить элементы из таблицы, используя заданные параметры.