首页 > 解决方案 > “请求具有不受支持的文档格式” - AWS Textract,使用 NodeJS

问题描述

我一直在尝试使用 AWS Textract(分析费用)在 AWS Lambda 中使用 NodeJS 14.x 和 AWS SDK 版本 2.966.0 制作算法。这是我写的代码:

const AWS = require("aws-sdk")
const textract = new AWS.Textract({apiVersion: '2018-06-27'});
exports.handler = async (event) => {
  var params = {
    Document: {
      S3Object: {
        Bucket: '(REDACTED)',
        Name: 'test1.pdf'
      }
    }
  };
  try {
    const data = await textract.analyzeExpense(params).promise();
    return data;
  } catch(e) {
    return e;
  }
};

我收到错误消息:

{
  "message": "Request has unsupported document format",
  "code": "UnsupportedDocumentException",
  "time": "2021-08-11T22:07:59.913Z",
  "requestId": "f61104c6-fba6-4d97-8f5d-e4a4491a610b",
  "statusCode": 400,
  "retryable": false,
  "retryDelay": 62.83763773681126
}

我知道通过异步 API 支持 PDF(而 JPEG 和 PNG 使用同步 API),但这不是已经异步了吗?如果不是,我如何异步调用它,允许 textract 接受 PDF。

提前致谢。

标签: node.jsamazon-web-services

解决方案


您收到错误是因为与 Amazon Textract 的同步操作不支持 PDF 格式。

目前,Analyze Expense 仅支持同步请求,链接到文档

同步请求

如果您需要使用 处理 PDF 文件AnalyzeExpense,一种方法是将 PDF 拆分为多个.png文件。


推荐阅读