Javascript-无法使用AWS-SDK

时间:2019-06-17 19:29:52

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

我想使用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();

这些都不起作用,这是怎么了?

1 个答案:

答案 0 :(得分:1)

不要冒犯,但是您的标题有点令人困惑,因为它引用了aws-cli,但是您描述中的代码段位于nodejs中。能请您说明是哪个吗?

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

'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
  });

我已使用以下环境规范测试了上述代码段:

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