首页 > 解决方案 > 调用 AnalyzeDocument 时出现 AccessDeniedException

问题描述

调用AnalyzeDocument时,我收到一个Amazon.Textract.Model.AccessDeniedException

附加信息:用户:arn:aws:iam::[number]:user/service 无权执行:textract:AnalyzeDocument

用户在附加了 AmazonTextractFullAccess 策略的组中 ( arn:aws:iam::aws:policy/AmazonTextractFullAccess):

组成员

(用户的 ARN 与我的例外中的 ARN 匹配,只是出于隐私原因对其进行了编辑)。

我使用适用于 .NET 的 AWS 开发工具包。以下是相关代码:

var region = RegionEndpoint.USEast1;
string bucketName = "my bucket's id";

IAmazonS3 s3Client = new AmazonS3Client(region);
GetObjectResponse getObjRespone = s3Client.GetObject(bucketName, "inv.jpg");
using (var ms = new MemoryStream())
{
    getObjRespone.ResponseStream.CopyTo(ms);
    var textract = new AmazonTextractClient(region);
    var request = new AnalyzeDocumentRequest();
    var document = new Document();
    document.Bytes = ms;
    request.Document = document;
    AnalyzeDocumentResponse response = textract.AnalyzeDocument(request);
}

我在这里想念什么?

编辑:

用 CLI 尝试了同样的方法——这个有效。我将其配置为使用相同的用户。

./aws textract \
    analyze-document \
    --document '{"S3Object":{"Bucket":"my bucket id","Name":"inv.jpg"}}' \
    --feature-types '["TABLES","FORMS"]'

标签: amazon-web-servicesamazon-textract

解决方案


推荐阅读