无法从 S3 存储桶中检索已处理的文件
Not able to retrieve processed file from S3 Bucket
我是 AWS 新手,正在尝试使用他们的 OCR 服务 Textract API。
据我所知,我需要将文件上传到 S3 存储桶,然后 运行 对其进行 textract。
我打开了水桶和里面的文件:
我获得了权限:
但是当我 运行 我的代码出现错误时。
import boto3
import trp
# Document
s3BucketName = "textract-console-us-east-1-057eddde-3f44-45c5-9208-fec27f9f6420"
documentName = "ok0001_prioridade01_x45f3.pdf"
]\[\[""
# Amazon Textract client
textract = boto3.client('textract',region_name="us-east-1",aws_access_key_id="xxxxxx",
aws_secret_access_key="xxxxxxxxx")
# Call Amazon Textract
response = textract.analyze_document(
Document={
'S3Object': {
'Bucket': s3BucketName,
'Name': documentName
}
},
FeatureTypes=["TABLES"])
这是我得到的错误:
botocore.errorfactory.InvalidS3ObjectException: An error occurred (InvalidS3ObjectException) when calling the AnalyzeDocument operation: Unable to get object metadata from S3. Check object key, region and/or access permissions.
我错过了什么?我该如何解决?
Amazon Textract 目前支持 PNG、JPEG 和 PDF 格式。看起来您正在使用 PDF。
一旦有了有效的格式,就可以使用PythonS3API读取S3对象中对象的数据。读取对象后,可以将字节数组传递给 analyze_document 方法。查看如何将适用于 Python (Boto3) 的 AWS 开发工具包与 Amazon Textract 结合使用的完整示例
检测文档图像中的文本、表单和 table 元素。
尝试按照该代码示例查看您的问题是否已解决。
“你能提供一些清晰的参数吗运行ce”
我只是 运行 Java V2 示例,它工作得很好。在此示例中,我使用位于特定 Amazon S3 存储桶中的 PNG 文件。
以下是您需要的参数:
确保在 Python 中实现此功能时设置相同的参数。
您缺少 S3 访问策略,如果您想根据需要快速解决,您应该添加 AmazonS3ReadOnlyAccess
策略。
一个好的做法是应用最小权限访问原则,并在需要时继续授予访问权限。因此,我建议您创建一个特定的策略来访问您的 S3 存储桶 textract-console-us-east-1-057eddde-3f44-45c5-9208-fec27f9f6420
,并且仅在 us-east-1
区域。
我是 AWS 新手,正在尝试使用他们的 OCR 服务 Textract API。 据我所知,我需要将文件上传到 S3 存储桶,然后 运行 对其进行 textract。
我打开了水桶和里面的文件:
我获得了权限:
但是当我 运行 我的代码出现错误时。
import boto3
import trp
# Document
s3BucketName = "textract-console-us-east-1-057eddde-3f44-45c5-9208-fec27f9f6420"
documentName = "ok0001_prioridade01_x45f3.pdf"
]\[\[""
# Amazon Textract client
textract = boto3.client('textract',region_name="us-east-1",aws_access_key_id="xxxxxx",
aws_secret_access_key="xxxxxxxxx")
# Call Amazon Textract
response = textract.analyze_document(
Document={
'S3Object': {
'Bucket': s3BucketName,
'Name': documentName
}
},
FeatureTypes=["TABLES"])
这是我得到的错误:
botocore.errorfactory.InvalidS3ObjectException: An error occurred (InvalidS3ObjectException) when calling the AnalyzeDocument operation: Unable to get object metadata from S3. Check object key, region and/or access permissions.
我错过了什么?我该如何解决?
Amazon Textract 目前支持 PNG、JPEG 和 PDF 格式。看起来您正在使用 PDF。
一旦有了有效的格式,就可以使用PythonS3API读取S3对象中对象的数据。读取对象后,可以将字节数组传递给 analyze_document 方法。查看如何将适用于 Python (Boto3) 的 AWS 开发工具包与 Amazon Textract 结合使用的完整示例 检测文档图像中的文本、表单和 table 元素。
尝试按照该代码示例查看您的问题是否已解决。
“你能提供一些清晰的参数吗运行ce”
我只是 运行 Java V2 示例,它工作得很好。在此示例中,我使用位于特定 Amazon S3 存储桶中的 PNG 文件。
以下是您需要的参数:
确保在 Python 中实现此功能时设置相同的参数。
您缺少 S3 访问策略,如果您想根据需要快速解决,您应该添加 AmazonS3ReadOnlyAccess
策略。
一个好的做法是应用最小权限访问原则,并在需要时继续授予访问权限。因此,我建议您创建一个特定的策略来访问您的 S3 存储桶 textract-console-us-east-1-057eddde-3f44-45c5-9208-fec27f9f6420
,并且仅在 us-east-1
区域。