

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 为异步操作配置 Amazon Textract
<a name="api-async-roles"></a>

您将介绍如何将 Amazon Textract 配置为与 Amazon Simple Notification Service (Amazon SNS) 主题和 Amazon Simple Queue Service (Amazon SQS) 队列组合使用。

**注意**  
如果您使用这些说明设置[检测或分析多页文档中的文本](async-analyzing-with-sqs.md)例如，您不需要执行步骤 3 — 6。示例包括用于创建和配置 Amazon SNS 主题和 Amazon SQS 队列的代码。

**要配置 Amazon Textract**

1. 设置AWS用于访问 Amazon Textract 的账户。有关更多信息，请参阅 [第 1 步：设置 AWS 账户并创建 IAM 用户](setting-up.md)。

   确保用户具有至少以下权限：
   + AmazonTextractFullAccess
   + AmazonS3ReadOnlyAccess
   + AmazonSNSFullAccess
   + AmazonSQSFullAccess

1. 安装和配置所需的 AWS 开发工具包。有关更多信息，请参阅 [第 2 步：设置AWS CLI和AWS软件开发工具包](setup-awscli-sdk.md)。

1. [创建 Amazon SNS 主题](https://docs.aws.amazon.com/sns/latest/dg/sns-tutorial-create-topic.html). 在主题名称前加上*卓越亚马逊提取*. 记下主题的 Amazon 资源名称 (ARN)。确保主题与AWS您将与 AWS 账户配合使用的终端节点。

1. [创建 Amazon SQS 标准队列](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-create-queue.html)通过使用[Amazon SQS 控制台](https://console.aws.amazon.com/sqs/). 记录队列 ARN。

1. [为队列订阅主题](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-subscribe-queue-sns-topic.html)（您在步骤 3 中创建）。

1. [为 Amazon SNS 主题授予权限，以向 Amazon SQS 队列发送消息](https://docs.aws.amazon.com/sns/latest/dg/subscribe-sqs-queue-to-sns-topic.html).

1. 创建 IAM 服务角色以授予 Amazon Textract 访问您的 Amazon SNS 主题的权限。记下服务角色的 Amazon 资源名称 (ARN)。有关更多信息，请参阅 [授予 Amazon Textract 访问您的 Amazon SNS 主题](#api-async-roles-all-topics)。

1. [添加以下内联策略](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage-attach-detach.html#embed-inline-policy-console)适用于您在步骤 1 中创建的 IAM 用户。

   ```
   {
       "Version": "2012-10-17",
       "Statement": [
           {
               "Sid": "{{MySid}}",
               "Effect": "Allow",
               "Action": "iam:PassRole",
               "Resource": "{{Service role ARN from step 7}}"
           }
       ]
   }
   ```

   为内联策略提供一个名称。

1. 现在，您就可以运行中的示例了[检测或分析多页文档中的文本](async-analyzing-with-sqs.md).

## 授予 Amazon Textract 访问您的 Amazon SNS 主题
<a name="api-async-roles-all-topics"></a>

异步操作完成后，Amazon Textract 需要向您的 Amazon SNS 主题发送消息的权限。您使用 IAM 服务角色授予 Amazon Textract 访问 Amazon SNS 主题的权限。

 创建 Amazon SNS 主题时，必须在主题名称前加上**AmazonTextract**— 例如：**AmazonTextractMyTopicName**.

1. 登录 IAM 控制台 ([https://console.aws.amazon.com/iam](https://console.aws.amazon.com/iam))。

1. 在导航窗格中，选择**角色**。

1. 选择 **Create role**（创建角色）。

1. 适用于**选择受信任实体的类型**，选择**AWS 服务**.

1. 适用于**选择将使用此角色的服务**，选择**Textract**.

1. 选择 **Next:**。**Permissions (下一步：权限)**。

1. 验证**AmazonTextractServiceRole**策略已包含在附加的策略列表中。要在列表中显示策略，请在**筛选策略**.

1. 选择 **Next:**。**标签**。

1. 您不需要添加标签，因此，请选择**后续：审核**。

1. 在**审核**部分中，对于**角色名称**，键入角色的名称（例如，`TextractRole`）。In**角色描述**，请更新角色的描述，然后选择**创建角色**.

1. 选择新角色以打开角色的详细信息页面。

1. 在**摘要**中，复制**角色 ARN** 值并保存它。

1. 选择 **Trust Relationships (信任关系)**。

1. 选择**编辑信任关系**，并确保信任政策如下所示。

   ```
   {
     "Version": "2012-10-17",
     "Statement": [
       {
         "Effect": "Allow",
         "Principal": {
           "Service": "textract.amazonaws.com"
         },
         "Action": "sts:AssumeRole"
       }
     ]
   }
   ```

1. 选择 **Update Trust Policy**。