AWS Textract在analyzeDocument的无错误运行中不运行回调



当前

我正在尝试让AWS Textract处理Lambda函数,并在https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/Textract.html#analyzeDocument-属性

我的Lambda代码:

"use strict";
const AWS = require("aws-sdk");
exports.handler = async (event) => {
let params = JSON.parse(event.body);
console.log("Parse as document...");
let textract = new AWS.Textract();
let doc = params["doc"];
let config = {
Document: {
Bytes: doc,
}
};
textract.analyzeDocument(config, function (err, data) {
console.log("analyzing...");  //<-- nothing logged to console if no error
if (err) {
console.log(err, err.stack);
}
// an error occurred
else {
console.log("data:" + JSON.stringfy(data));  //<-- nothing logged to console if no error
} // successful response
});
console.log("Finished parsing as document.");
};

问题

我无法从Textract获取数据。我似乎无法让回调完全正常工作。奇怪的是,如果出现错误,例如我的配置错误,回调的错误处理将打印日志并";正在分析"日志,但没有错误,回调中没有任何日志打印。

当前日志:

Parse as document...
Finished parsing as document.

预期/期望日志:

Parse as document...
analyzing...
data:{textract output}
Finished parsing as document.

请帮忙!

注意事项

  • 我正在为Lambda使用一个角色,该角色允许它访问Textract
  • 无论是否包含HumanLoopConfig设置,我都会得到相同的结果

解决了,显然我需要设置一个promise:

let data = await textract.analyzeDocument(config).promise()
console.log("data:"+data );
console.log("Finished parsing as document.")

最新更新