从浏览器调用AWS API时出现错误502

时间:2019-06-12 09:25:50

标签: javascript amazon-web-services api aws-lambda

我想通过调用API网关(它调用Lambda函数)从数据库(DynamoDB)中获取项目。

如果我在AWS中测试我的lambda函数,则一切正常。在AWS中测试API网关时,我也可以获得数据。

但是,如果我尝试从前端(javascript)调用API,则会收到错误502。

{
  "message": "Internal server error"
}

我做了一些研究,认为可能必须是另一个dataType。但是我也尝试只发送一个字符串作为响应,但它不起作用。

这是我的前端代码:

$.ajax({
         method: 'GET',
         url: API_url,
         dataType: "jsonp",  
         "Content-Type":"application/json",     
         success: function(data) {
         console.log("responseAPI: ", data);
        },
       error: alert("fail")
     });

AWS中的Lambda函数:

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"
}

0 个答案:

没有答案