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 终端节点位于同一区域。
您好,我正在 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 终端节点位于同一区域。