AWS Lambda回调API在哪里记录?

时间:2017-08-02 09:07:43

标签: javascript aws-lambda

我正在寻找有关NodeJS的AWS Lambda处理函数的完整文档,尤其是结果对象。 如何设置标题,Cookie ...我还有其他选项等等?

似乎只记录了回调原型,而不是它的参数。 http://docs.aws.amazon.com/lambda/latest/dg/nodejs-prog-model-handler.html#nodejs-prog-model-handler-callback

AWS文档太乱了......

1 个答案:

答案 0 :(得分:0)

This blog post解释道:

示例代码如下:

'use strict';
exports.handler = function(event, context) {
  console.log("{'Cookie':event['Cookie']}");
  var date = new Date();

  // Get Unix milliseconds at current time plus 365 days
  date.setTime(+ date + (365 \* 86400000)); //24 \* 60 \* 60 \* 100

  // Generate a random cookie string
  var cookieVal = Math.random().toString(36).substring(7); 

  var cookieString = "myCookie="+cookieVal+"; domain=my.domain; 
      expires="+date.toGMTString()+";";

  context.done(null, {"Cookie": cookieString}); 

};

如果使用回调,那么响应必须符合以下几行:

callback(null, {
    "statusCode": 200,
    "headers": { "Set-Cookie": myCookie=cookieVal; domain=my.domain; 
        expires="+date.toGMTString()+"; },
    "body": "..."
});

但您还需要根据博客文章更新APIG以允许cookie响应:

  

在API网关控制台中,转到GET方法页面并选择方法响应。展开默认的200 HTTP状态,然后选择“添加标题”。添加一个名为“Set-Cookie”的新标题。

     

在GET Method页面上,选择Integration Response。在标题下   映射部分默认为200 HTTP状态,选择铅笔   用于编辑“Set-Cookie”标题的图标。在映射值部分中,   放:

integration.response.body.Cookie

  

请务必选择检查图标来保存标题!

APIG目前有一个限制,即每个标头只能在响应中存在一次。这意味着一次只能设置一个cookie。