无法调用Lambda函数AWS

时间:2016-10-26 16:30:21

标签: node.js amazon-web-services aws-lambda aws-sdk aws-api-gateway

我在node.js中的Lambda函数:

console.log('Loading function');

  exports.handler = function(event, context) {

  console.log('value1 =', event.key1);
  context.succeed("Hello " + event.key1);
  };

我想要一个客户端(我的笔记本电脑)发送一个包含值" world"这个lambda函数。该函数添加" Hello"并返回" Hello world"。 我使用带有curl的cmd并使用以下语句:

curl -X POST -d '{"key1":"world"}' https://blablablabla.execute-api.us-west-2.amazonaws.com/prod/helloworld2

但我只回复{"消息":"内部服务器错误"}

有什么想法吗?有没有其他方式发送"世界"值。也许在HTML文件中的javascript或Eclipse中的简单Java应用程序? lambda函数本身很好。我通过测试活动成功测试了它。

1 个答案:

答案 0 :(得分:0)

你的功能似乎很好。但是你缺少cURL命令的Content-Type标题。这样做:

curl -H "Content-Type: application/json" -X POST -d "{\"key1\": \"World\"}" https://blablablabla.execute-api.us-west-2.amazonaws.com/prod/helloworld2

您可以在this AWS documentation.

中仔细检查此要求

更新:尝试使用此功能(我只添加了回调参数)

'use strict';
console.log('Loading function');

exports.handler = function(event, context, callback) {
    console.log('value1 =', event.key1);
    callback(null, {"Hello": event.key1});
};