gpt4 book ai didi

python - InvalidS3ObjectException : Unable to get object metadata from S3?

转载 作者:行者123 更新时间:2023-12-04 14:11:49 25 4
gpt4 key购买 nike

所以我想用 Amazon Textract使用 StartDocumentTextDetection 阅读多个 pdf 文件,多页方法如下:

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

当只是尝试从 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')
相应地,我正在使用该 s3_file.key稍后访问该对象。但我收到以下错误,我无法弄清楚:

InvalidS3ObjectException: An error occurred (InvalidS3ObjectException) when calling the StartDocumentTextDetection operation: Unable to get object metadata from S3. Check object key, region and/or access permissions.


到目前为止,我有:
  • 从 boto3 session 检查区域,bucket 和 aws 配置设置都设置为 us-east-2 .
  • 键不能错,我是直接从对象响应中传递过来的
  • 权限明智,我检查了 IAM 控制台,并将其设置为 AmazonS3FullAccessAmazonTextractFullAccess .

  • 这里可能出了什么问题?
    [编辑] 我确实重命名了文件,以便它们没有 \\ ,但似乎仍然无法正常工作,这很奇怪..

    最佳答案

    我遇到了同样的问题并通过在提取客户端中指定一个区域来解决它。就我而言,我使用了 us-east2

    client = boto3.client('textract', region_name='us-east-2')
    这样做的线索来自这个问题: https://github.com/aws/aws-sdk-js/issues/2714

    关于python - InvalidS3ObjectException : Unable to get object metadata from S3?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63673699/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com