我想使用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();
这些都不起作用,这是怎么了?
答案 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 });
我已使用以下环境规范测试了上述代码段: