Проблема в том, что вы пометили свой метод как async
, что означает, что вы возвращаете обещание. В вашем случае вы не возвращаете обещание, поэтому для лямбды нет способа завершить выполнение метода. Здесь у вас есть два варианта
- Удалить
async
- Или более рекомендуемый способ - преобразовать ваш стиль обратного вызова, чтобы использовать обещание.
aws-sdk
поддержка .promise
метода во всех методах, чтобы вы могли использовать это. Код будет выглядеть так:
var AWS = require("aws-sdk");
var base64 = require("base-64");
var fs = require("fs");
exports.handler = async (event, context) => {
// Input for textract can be byte array or S3 object
AWS.config.region = "us-east-1";
//AWS.config.update({ region: 'us-east-1' });
var textract = new AWS.Textract({ apiVersion: "2018-06-27" });
//var textract = new AWS.Textract();
console.log(textract);
var params = {
Document: {
/* required */
//'Bytes': imageBase64
S3Object: {
Bucket: "717577",
Name: "Picture2.png"
}
}
};
const data = await textract.detectDocumentText(params).promise();
return data;
};
Надеюсь, это поможет.