Amazon Textract 开始文档分析——来自SQS的消息都是空的,

Amazon Textract Start document analysis - messages from SQS are all empty,

您好,我正在 Java 开发一个使用 AWS Textract 解析文档的应用程序。对于多页解析,我使用 textract 客户端上可用的 startDocumentAnalysis 方法。然后,此客户端以 jobId 响应,并且 jobId 连同其完成状态一起放置在 sqs 队列中。我以前有一个个人帐户,并设法让所有帐户正常工作,因此进程从队列中读取消息,然后使用 :

获取解析结果
GetDocumentAnalysisRequest documentAnalysisRequest = GetDocumentAnalysisRequest.builder().jobId(jobId)
                    .maxResults(maxResults).nextToken(paginationToken).build();

现在我必须在我公司的 AWS 帐户上执行此操作并且我已经回顾了我的步骤并且一切正常,除了现在当我去从队列中获取消息时,所有消息都以 [] 形式返回,即空数组. 我使用这个代码:

messages = sqsClient.receiveMessage(receiveMessageRequest).messages();

所以我知道错误不可能出现在 java 代码中,因为之前它是有效的。 我也知道我可以上传到新存储桶并进行单页解析,所以我知道我的凭据是正确的。 我在 sns 上创建了一个主题并将我的 sqs 注册到它但是这里的某个地方必须有权限或其他配置错误。也许 SNS 和 SQS 没有互相交谈?

想知道是否有人有任何见解可以帮助我。 谢谢

我找到了答案。这都与 SNS 主题的命名约定有关。文档中的解释:

https://docs.aws.amazon.com/textract/latest/dg/api-async-roles.html

第 3 步 - 创建 Amazon SNS 主题。在主题名称前加上 AmazonTextract。请注意主题 Amazon 资源名称 (ARN)。确保该主题与您正在使用的 AWS 终端节点位于同一区域。