요청을 완료하기 전에 Lambda 함수가 종료되는 이유는 무엇입니까?

여명 33

PluralSight 자습서를 따라 작성한 다음 Lambda 함수가 있습니다. [js에 대한 지식이 거의 없습니다. API Gateway <-> 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

비동기가 작업을 완료하기 전에 프로그램이 종료되는 이유는 무엇입니까?

분류에서Dev

시스템이 종료되기 전에 인증을 요청하는 이유는 무엇입니까?

분류에서Dev

작업이 완료되기 전에 스레드가 종료되는 것을 방지하는 방법은 무엇입니까?

분류에서Dev

Fish Shell – 함수를 완료하기 전에 함수가 입력을 요청하도록하는 방법

분류에서Dev

Drone CI : Selenium을 사용하는 npm 스크립트 실행이 완료되기 전에 종료되는 이유는 무엇입니까?

분류에서Dev

수명이 짧은 애플리케이션이 종료되기 전에 Logback을 완전히 압축하는 방법은 무엇입니까?

분류에서Dev

JS가 배경색을 변경하기 전에 함수가 완료 될 때까지 기다리는 이유는 무엇입니까?

분류에서Dev

JS가 배경색을 변경하기 전에 함수가 완료 될 때까지 기다리는 이유는 무엇입니까?

분류에서Dev

SwiftUI에서 비동기 요청이 완료된 후 함수를 호출하는 방법은 무엇입니까?

분류에서Dev

소스 Observable이 완료되기 전에`merge` 연산자가 완료되는 이유는 무엇입니까?

분류에서Dev

반환하기 전에 mongoose .exec () 함수가 완료되기를 기다리는 방법은 무엇입니까?

분류에서Dev

볼륨을 조정하면 전체 화면 비디오가 종료되는 이유는 무엇입니까?

분류에서Dev

프로그램을 종료하기 전에 동시 ML 스레드가 완료 될 때까지 기다리는 방법은 무엇입니까?

분류에서Dev

코드가 사용자에게 입력을 요청하지만 기다리지 않고 종료하는 이유는 무엇입니까?

분류에서Dev

Firebase Cloud Function에서 Promise.all ()을 성공적으로 완료하지 않고 서버리스 함수가 종료되면 성능이 저하되는 이유는 무엇입니까?

분류에서Dev

부모 프로세스가 wait () 함수를 호출하기 전에 자식 프로세스가 종료되지 않는 이유는 무엇입니까?

분류에서Dev

이 함수가 Haskell에서 종료되지 않는 이유는 무엇입니까?

분류에서Dev

'\ n'을 입력하면 getchar ()를 포함하는 루프가 종료되는 이유는 무엇입니까?

분류에서Dev

Axios 비동기는 axios가 사후 요청을 완료하기 전에 Cloud 함수 반환을 기다립니다.

분류에서Dev

이 작업이 완료되기 전에 코드가 실행되는 이유는 무엇입니까?

분류에서Dev

SQL Server, nodejs 및 bycrypt를 사용하여 함수가 수신되기 전에 요청이 종료됩니다.

분류에서Dev

계산을 완료하기 전에 변수를 해결하는 방법은 무엇입니까?

분류에서Dev

재부팅, 종료 및 전원 끄기가 systemctl에 심볼릭 링크되는 이유는 무엇입니까?

분류에서Dev

첫 번째가 완료된 후에 만 후속 API 요청을 발행하는 방법은 무엇입니까?

분류에서Dev

모든 스레드가 완료되면 프로그램을 종료하는 방법은 무엇입니까?

분류에서Dev

요청이 완료되기 전에 AJAX 요청의 데이터가 사용되지 않도록 보장하는 데 promise를 사용할 수 있습니까?

분류에서Dev

값을 반환하기 전에 다른 이벤트가 완료되기를 기다리는 방법은 무엇입니까?

분류에서Dev

Ansible에서 문자열 읽기가 완료되면 프로세스를 종료하는 조건문을 생성하는 방법이 있습니까?

Related 관련 기사

  1. 1

    요청을 완료하기 전에 AWS Lambda 함수가 종료 됨

  2. 2

    비동기가 작업을 완료하기 전에 프로그램이 종료되는 이유는 무엇입니까?

  3. 3

    시스템이 종료되기 전에 인증을 요청하는 이유는 무엇입니까?

  4. 4

    작업이 완료되기 전에 스레드가 종료되는 것을 방지하는 방법은 무엇입니까?

  5. 5

    Fish Shell – 함수를 완료하기 전에 함수가 입력을 요청하도록하는 방법

  6. 6

    Drone CI : Selenium을 사용하는 npm 스크립트 실행이 완료되기 전에 종료되는 이유는 무엇입니까?

  7. 7

    수명이 짧은 애플리케이션이 종료되기 전에 Logback을 완전히 압축하는 방법은 무엇입니까?

  8. 8

    JS가 배경색을 변경하기 전에 함수가 완료 될 때까지 기다리는 이유는 무엇입니까?

  9. 9

    JS가 배경색을 변경하기 전에 함수가 완료 될 때까지 기다리는 이유는 무엇입니까?

  10. 10

    SwiftUI에서 비동기 요청이 완료된 후 함수를 호출하는 방법은 무엇입니까?

  11. 11

    소스 Observable이 완료되기 전에`merge` 연산자가 완료되는 이유는 무엇입니까?

  12. 12

    반환하기 전에 mongoose .exec () 함수가 완료되기를 기다리는 방법은 무엇입니까?

  13. 13

    볼륨을 조정하면 전체 화면 비디오가 종료되는 이유는 무엇입니까?

  14. 14

    프로그램을 종료하기 전에 동시 ML 스레드가 완료 될 때까지 기다리는 방법은 무엇입니까?

  15. 15

    코드가 사용자에게 입력을 요청하지만 기다리지 않고 종료하는 이유는 무엇입니까?

  16. 16

    Firebase Cloud Function에서 Promise.all ()을 성공적으로 완료하지 않고 서버리스 함수가 종료되면 성능이 저하되는 이유는 무엇입니까?

  17. 17

    부모 프로세스가 wait () 함수를 호출하기 전에 자식 프로세스가 종료되지 않는 이유는 무엇입니까?

  18. 18

    이 함수가 Haskell에서 종료되지 않는 이유는 무엇입니까?

  19. 19

    '\ n'을 입력하면 getchar ()를 포함하는 루프가 종료되는 이유는 무엇입니까?

  20. 20

    Axios 비동기는 axios가 사후 요청을 완료하기 전에 Cloud 함수 반환을 기다립니다.

  21. 21

    이 작업이 완료되기 전에 코드가 실행되는 이유는 무엇입니까?

  22. 22

    SQL Server, nodejs 및 bycrypt를 사용하여 함수가 수신되기 전에 요청이 종료됩니다.

  23. 23

    계산을 완료하기 전에 변수를 해결하는 방법은 무엇입니까?

  24. 24

    재부팅, 종료 및 전원 끄기가 systemctl에 심볼릭 링크되는 이유는 무엇입니까?

  25. 25

    첫 번째가 완료된 후에 만 후속 API 요청을 발행하는 방법은 무엇입니까?

  26. 26

    모든 스레드가 완료되면 프로그램을 종료하는 방법은 무엇입니까?

  27. 27

    요청이 완료되기 전에 AJAX 요청의 데이터가 사용되지 않도록 보장하는 데 promise를 사용할 수 있습니까?

  28. 28

    값을 반환하기 전에 다른 이벤트가 완료되기를 기다리는 방법은 무엇입니까?

  29. 29

    Ansible에서 문자열 읽기가 완료되면 프로세스를 종료하는 조건문을 생성하는 방법이 있습니까?

뜨겁다태그

보관