oce*_*800 6 python amazon-s3 amazon-web-services boto3 amazon-textract
因此,我尝试使用Amazon Textract读取多个 pdf 文件,其中多个页面使用StartDocumentTextDetection以下方法:
client = boto3.client('textract')
textract_bucket = s3.Bucket('my_textract_console-us-east-2')
for s3_file in textract_bucket.objects.all():
print(s3_file)
response = client.start_document_text_detection(
DocumentLocation = {
"S3Object": {
"Bucket": "my_textract_console_us-east-2",
"Name": s3_file.key,
}
},
ClientRequestToken=str(random.randint(1,1e10)))
print(response)
break
Run Code Online (Sandbox Code Playgroud)
当只是尝试从 检索响应对象时s3,我可以看到它打印出来为:
s3.ObjectSummary(bucket_name='my_textract_console-us-east-2', key='C:\\Users\\My_User\\Documents\\Folder\\Sub_Folder\\Sub_sub_folder\\filename.PDF')
Run Code Online (Sandbox Code Playgroud)
相应地,我s3_file.key稍后将使用它来访问该对象。但我收到以下我无法弄清楚的错误:
InvalidS3ObjectException:调用 StartDocumentTextDetection 操作时发生错误 (InvalidS3ObjectException):无法从 S3 获取对象元数据。检查对象键、区域和/或访问权限。
到目前为止我有:
us-east-2。AmazonS3FullAccess和AmazonTextractFullAccess。这里可能出了什么问题?
[编辑]我确实重命名了这些文件,以便它们没有\\,但似乎仍然无法正常工作,这很奇怪..
我遇到了同样的问题,并通过在提取客户端中指定一个区域来解决它。就我而言,我使用 us-east2
client = boto3.client('textract', region_name='us-east-2')
Run Code Online (Sandbox Code Playgroud)
这样做的线索来自这个问题:https ://github.com/aws/aws-sdk-js/issues/2714
| 归档时间: |
|
| 查看次数: |
6137 次 |
| 最近记录: |