Я хочу получить элемент из моей базы данных (DynamoDB), вызвав шлюз API, который вызывает функцию Lambda.
Если я проверяю свою лямбда-функцию в AWS, все работает нормально.Я также могу получить данные при тестировании шлюза API в AWS.
Но если я пытаюсь вызвать API из моего внешнего интерфейса (javascript), я получаю сообщение об ошибке 502.
{
"message": "Internal server error"
}
Я провел некоторое исследование и подумал, что это может быть другой тип данных.Но я также попытался отправить строку в ответ, и она не работает.
Это мой код интерфейса:
$.ajax({
method: 'GET',
url: API_url,
dataType: "jsonp",
"Content-Type":"application/json",
success: function(data) {
console.log("responseAPI: ", data);
},
error: alert("fail")
});
Лямбда-функция в AWS:
const AWS = require('aws-sdk');
const ddb = new AWS.DynamoDB.DocumentClient();
exports.handler = (event, context, callback) => {
var params={
TableName: "testTable",
Key: {
"Username": "testUser@test.de"
}
} ;
ddb.get(params, function(err, data) {
if (err) {
callback(err, null)
}
else {
callback(null, "Hello")
}; // successful response
})
};
Ошибка 502
{
"message": "Internal server error"
}