AWS Lambda“요청 완료 전에 프로세스 종료 됨”
DynamoDB 클라이언트 메서드 를 호출 하고 DynamoDB 테이블에서 항목 하나를 가져 오려고합니다. 내가 사용하고 AWS 람다를 . 그러나 계속 메시지가 나타납니다.
"요청을 완료하기 전에 프로세스가 종료되었습니다."
확인하기 위해 제한 시간을 늘 렸지만 처리 시간이 제한 시간보다 짧습니다. 어떤 충고?
console.log('Loading event');
var AWS = require('aws-sdk');
var dynamodb = new AWS.DynamoDB({apiVersion: '2012-08-10'});
exports.handler = function(event, context) {
dynamodb.listTables(function(err, data) {
});
var params = {
"TableName": "User",
"Key":
{"User Id" : {"S":event.objectId}
},
"AttributesToGet" : ["First Name","Last Name", "Latitude", "Longitude"],
"ConsistentRead" : true
}
dynamodb.getItem(params, function(response,result) {
response.on('data', function(chunk){
console.log(""+chunk);
console.log("test1")
context.done(result);
});
result.on('ready', function(data){
console.log("test2")
console.log("Error:" + data.error);
console.log("ConsumedCapacityUnits:" + data.ConsumedCapacityUnits);
context.done('Error',data);
// ...
});
});
};
"요청을 완료하기 전에 프로세스가 종료되었습니다"라는 메시지는 Javascript 함수가 호출하기 전에 종료되었음을 의미합니다 context.done
(또는 context.succeed
등). 일반적으로 이는 코드에 오류가 있음을 의미합니다.
저는 Javascript 전문가가 아니므로 오류를 찾는 더 우아한 방법이있을 수 있지만 제 접근 방식은 console.log
내 코드에 많은 메시지 를 넣고 실행 한 다음 로그를 보는 것입니다. 나는 일반적으로 문제가되는 라인에 집중할 수 있고, 충분히 오랫동안 보면 내 실수를 알아낼 수 있습니다.
벌써 몇 가지 로깅이 있습니다. 출력에서 무엇을보고 있습니까?
메모리 사용량을 살펴보십시오 (마지막 로그 줄에 포함됨). 람다 함수에 너무 적은 메모리를 할당했을 때 같은 메시지를 받았습니다.
내가 사용한 callback
대신, context
.
aws 웹 사이트 callback
에서 context
.
요청을 완료하려면 아래 중 하나를 호출해야합니다.
callback(error); // This is used when there is an error
// or
callback(null, data); // This is used when there is a success
// 'data' will contain success result, like some JSON object
When lambda execution completes the request,
failing to call one of the above callbacks,
you will see below error:
"Process exited before completing request."
Error in your code. Remove the last }); and don't use context it is there for backward compatibility, use callbacks on node.js 4.3 and 6.1 runtime.
ReferenceURL : https://stackoverflow.com/questions/31627950/aws-lambda-process-exited-before-completing-request
'Nice programing' 카테고리의 다른 글
TypeScript에서 강력한 유형의 배열 배열 만들기 (0) | 2021.01.06 |
---|---|
Visual Studio에서 C #을 사용하여 구성하기위한 바로 가기 키는 무엇입니까? (0) | 2021.01.06 |
Bootstrap 3-반응 형 mp4 비디오 (0) | 2021.01.05 |
Python Pip 설치 오류 : vcvarsall.bat를 찾을 수 없습니다. (0) | 2021.01.05 |
웹 게시 암호가 내 Azure 관리자 암호와 같지 않습니까? (0) | 2021.01.05 |