调用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"]'