代码之家  ›  专栏  ›  技术社区  ›  user504909

为什么响应的第一个元素在serverless中为null?

  •  0
  • user504909  · 技术社区  · 7 年前

    我发现有趣的东西,比如请求的处理程序总是空的。

    exports.handler = async function(event, context, callback) {
        ....
        callback(null, 'Success!');
    

    }

    回调响应的第一个元素是什么意思? 为什么它应该是空的?

    1 回复  |  直到 7 年前
        1
  •  -1
  •   Kannaiyan    7 年前

    我也有同样的疑问,以下是我的观察结果。

    1. 如果第一个参数不为null,则表示错误,即lambda失败。
    2. 如果您有来自触发器(如DynamoDB streams、Amazon Kinesis)的同步调用,那么这些适配器将重试回调,直到调用lambda成功为止。
    3. 另外,如果强制您评估函数是否成功,则大多数语言中的第一个参数不是可选的。由于存在其他依赖关系,基础设施(上面提到的一些)需要基于该值进行创建。