为什么我的 Lambda 函数在完成请求之前退出?

黎明33

我有以下 Lambda 函数,这是我按照 PluralSight 教程编写的 [我对 js 知之甚少。为学习API网关而做<--> Lambda教程]

我已经编写了完全相同的函数,就像{}测试 json 一样:

var faker = require('faker');

exports.handler = function(event, context){
    var inventory = [];
    for(var i = 0; i < 10; i++){
        var shoe = {};
        var shoeType = getShoeType();
        shoe.name = getShoeName(shoeType);
        shoe.color = getShoeColor();
        shoe.description = getShoeDescription(showType);
        shoe.size = getShoeSize();
        shoe.price = getShoePrice();

        inventory.push(shoe);
    }

    context.succeed(inventory);
}

function getShoeName(showType){
    return faker.company.catchPhraseNoun() + " " + faker.company.catchPhraseDescriptor() + 
    " " + showType;
}

function getShoeColor(){
    return faker.commerce.color();
}

function getShoeDescription(shoeType){
    return "A(n)" + faker.commerce.productAdjective() + ", " + faker.commerce.productAdjective() + 
    " " + shoeType + "made from the finest " + faker.commerce.productMaterial() + "designed for the " +
    faker.commerce.bsBuzz() + " individual!";
}

function getShoeSize(){
    return getNum(1, 13);
}

function getShoePrice(){
    return faker.commerce.price();
}


function getShoeType(){
    var shoeType = [
    "running shoes",
    "training shoes",
    "tennis shoe",
    "cricket shoe",
    "other shoe"
    ]
    return shoeType[getNum(0, 5)];
}

function getNum(min, max){
    return Math.floor(Math.random() * (max - min +1)) + min;
}

但是,Lambda 给出了这个错误:

{
  "errorMessage": "RequestId: e5566a3c-1df8-11e7-8b71-d961323b4fcf Process exited before completing request"
}

我也检查了我的位置,context.succeed()完全没问题。

那么,我哪里做错了?

苏尼尔 D.

我看到的一个错误是在您的getShoeType()函数中。这个函数有一个包含 5 种鞋子类型的数组(数组索引 0 到 4)。

但是由于您传递给随机数函数的参数,它返回从 0 到 5 的值。因此,当随机数函数返回 5 时,它会生成错误 b/c,显示类型数组的最后一个元素位于索引 4 ,不是 5。

编辑:在进一步审查中,这可能不会导致函数在完成请求之前退出......但您可能会在由getShoeName().

编辑 #2另一个错误是您将未定义的变量showType(而不是shoeType)传递给getShoeDescription()函数。

没有看到发生的真正错误是我在使用 AWS Lambda 时感到沮丧的事情之一。我最终开始使用无服务器框架,它的好处是让您可以在本地运行您的 Lamdba 函数——如果这样做,您将获得更好的错误消息。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在完成请求之前退出了AWS Lambda函数

来自分类Dev

在完成请求之前退出流程(Lambda + DynamoDB)

来自分类Dev

AWS Lambda copyObject“在完成请求之前退出流程”

来自分类Dev

为什么我不能捕获C ++中的递归lambda函数?

来自分类Dev

为什么我的lambda函数无法按预期运行?

来自分类Dev

为什么我的AWS Lambda函数返回null?(Python代码)

来自分类Dev

为什么我不能用 lambda 替换这个函数

来自分类Dev

为什么我使用 lambda 表达式而不是函数?

来自分类Dev

为什么我的等待lambda.invoke函数多次调用lambda?

来自分类Dev

当我尝试caputre [this]时,用于回调函数的lambda表达式失败,为什么?

来自分类Dev

为什么我们不能直接调用线程#睡眠()lambda函数里面?

来自分类Dev

为什么我不能在constexpr lambda函数中使用std :: tuple

来自分类Dev

为什么lambda函数在测试中不输出我的标头?

来自分类Dev

为什么我的lambda函数尝试访问S3存储桶时会被拒绝访问?

来自分类Dev

为什么将Lambda转换为函数指针时我的C ++程序崩溃

来自分类Dev

为什么我的无服务器 Lambda 函数拒绝 Cache-Control 标头?

来自分类Dev

为什么Java对lambda函数使用->而不是=>?

来自分类Dev

为什么我的lambda不起作用?

来自分类Dev

为什么我的条件循环在我的状况之前退出

来自分类Dev

为什么程序在异步完成任务之前退出?

来自分类Dev

为什么我无法在 Webpack-ed 节点 8.1.0 AWS Lambda 函数中访问导出类的函数

来自分类Dev

为什么我的lambda在被调用时似乎什么也没做?

来自分类Dev

为什么我的JavaScript函数在jQuery load()调用完成加载之前运行?

来自分类Dev

为什么gulp没有完成我的任务就退出了?

来自分类Dev

为什么用 lambda 函数来定义这个函数?

来自分类Dev

在aws lambda中完成工作之前,对请求的200 ok响应

来自分类Dev

为什么要使用Lambda与1行函数声明?

来自分类Dev

为什么C11不支持Lambda函数

来自分类Dev

为什么此lambda函数比for循环版本更懒?

Related 相关文章

  1. 1

    在完成请求之前退出了AWS Lambda函数

  2. 2

    在完成请求之前退出流程(Lambda + DynamoDB)

  3. 3

    AWS Lambda copyObject“在完成请求之前退出流程”

  4. 4

    为什么我不能捕获C ++中的递归lambda函数?

  5. 5

    为什么我的lambda函数无法按预期运行?

  6. 6

    为什么我的AWS Lambda函数返回null?(Python代码)

  7. 7

    为什么我不能用 lambda 替换这个函数

  8. 8

    为什么我使用 lambda 表达式而不是函数?

  9. 9

    为什么我的等待lambda.invoke函数多次调用lambda?

  10. 10

    当我尝试caputre [this]时,用于回调函数的lambda表达式失败,为什么?

  11. 11

    为什么我们不能直接调用线程#睡眠()lambda函数里面?

  12. 12

    为什么我不能在constexpr lambda函数中使用std :: tuple

  13. 13

    为什么lambda函数在测试中不输出我的标头?

  14. 14

    为什么我的lambda函数尝试访问S3存储桶时会被拒绝访问?

  15. 15

    为什么将Lambda转换为函数指针时我的C ++程序崩溃

  16. 16

    为什么我的无服务器 Lambda 函数拒绝 Cache-Control 标头?

  17. 17

    为什么Java对lambda函数使用->而不是=>?

  18. 18

    为什么我的lambda不起作用?

  19. 19

    为什么我的条件循环在我的状况之前退出

  20. 20

    为什么程序在异步完成任务之前退出?

  21. 21

    为什么我无法在 Webpack-ed 节点 8.1.0 AWS Lambda 函数中访问导出类的函数

  22. 22

    为什么我的lambda在被调用时似乎什么也没做?

  23. 23

    为什么我的JavaScript函数在jQuery load()调用完成加载之前运行?

  24. 24

    为什么gulp没有完成我的任务就退出了?

  25. 25

    为什么用 lambda 函数来定义这个函数?

  26. 26

    在aws lambda中完成工作之前,对请求的200 ok响应

  27. 27

    为什么要使用Lambda与1行函数声明?

  28. 28

    为什么C11不支持Lambda函数

  29. 29

    为什么此lambda函数比for循环版本更懒?

热门标签

归档