无法访问 S3 存储桶中的文件

Not able to access file in S3Bucket

我是 AWS 中尝试使用 Textract 的新手。 现在我在 S3Bucket 中有一个文件,我正在尝试通过 API 处理它。我正在使用以下代码(我在 Python 中 运行):

# Document
            s3BucketName = "textract-console-us-east-1-057eddde-3f44-45c5-9208-fec27f9f6420"
            documentName = "ok0001_prioridade01.pdf"


            # Amazon Textract client
            textract = boto3.client('textract',region_name="us-east-1",aws_access_key_id="xxxx",
                                    aws_secret_access_key="xxxx")


            # 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.

然后,当我登录控制台时,我访问了存储桶和文件,当我尝试访问上述 link 中的文件时,我进入了这个 xml 错误页面。

This XML file does not appear to have any style information associated with it. The document tree is shown below.
<Error>
<Code>AccessDenied</Code>
<Message>Access Denied</Message>
<RequestId>xxxx</RequestId>
<HostId>xxxxxxxxxxxxxx</HostId>
</Error>

所以我想知道为什么我的访问被拒绝了。我重新登录到 IAM 以查看我是否搞砸了,但是权限已应用于我的用户:

我错过了什么?为什么我无法通过控制台访问文件(因此无法通过 API)?

S3 对象 url 仅当对象为 public 时才有效。要通过 S3 控制台下载它,您必须 Download 使用 S3 对象菜单: