【问题标题】:Javascript - Cannot initialize a AWS Textract object with AWS-SDKJavascript - 无法使用 AWS-SDK 初始化 AWS Textract 对象
【发布时间】:2019-07-10 18:49:39
【问题描述】:

我想使用 textract API 进行文档分析,但是当我尝试创建 AWS.Textract 的实例时,它会抛出一个错误提示

module initialization error: TypeError

我尝试了不同的东西, 最初我尝试这个,

const AWS = require('aws-sdk');
const Textract = new AWS.Textract();

没用,说找不到对象

然后经过一番谷歌搜索,我找到了这个link并将代码调整为这个

require('aws-sdk/clients/textract');
var textractClient = new AWS.Textract();

还有这个,

const Textract = require('aws-sdk/clients/textract');
var textractClient = new Textract();

这些都不起作用,这里做错了什么?

【问题讨论】:

  • 你用的是什么版本的node和什么版本的sdk?
  • 节点:8.10 “aws-sdk”:“^2.475.0”,

标签: amazon-web-services aws-sdk aws-sdk-js amazon-textract


【解决方案1】:

不要生气,但您的标题有点令人困惑,因为它指的是 aws-cli,但是您描述中的代码 sn-p 是在 nodejs 中。你能澄清一下哪个是哪个吗?

在 JavaScript/nodejs SDK 中,您可以初始化 Amazon Textract 对象,如以下代码 sn-p 所示:

'use strict';

// Load the AWS SDK for Node.js
var AWS = require('aws-sdk');

// Set region
AWS.config.region = 'us-east-1';

var textract = new AWS.Textract();

// Set parameters for the API
var params = {
    DocumentLocation: { /* required */
      S3Object: {
        Bucket: 'syumaK-bucket',
        Name: 'document.pdf'
      }
    },
    FeatureTypes: [ /* required */
      'TABLES','FORMS'
    ],
    NotificationChannel: {
      RoleArn: 'arn:aws:iam::19250632xxxx:role/AWSTextractRole', /* required */
      SNSTopicArn: 'arn:aws:sns:us-east-1:19250632xxxx:AmazonTextractTopic1562662993926'/* required */
    }
  };
  textract.startDocumentAnalysis(params, function(err, data) {
    if (err) console.log(err, err.stack); // an error occurred
    else     console.log(data);           // successful response
  });

我已经使用以下环境规范测试了上面的代码sn-p:

  • 操作系统:Mac High Sierra v10.13.6
  • aws-sdk:“^2.489.0”

【讨论】:

  • 答案是我需要放一个区域,你是对的
猜你喜欢
  • 1970-01-01
  • 2019-05-03
  • 2012-04-25
  • 2021-07-29
  • 1970-01-01
  • 2019-12-22
  • 1970-01-01
  • 2013-06-27
  • 1970-01-01
相关资源
最近更新 更多