

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 為異步操作配置 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 SDK。如需詳細資訊，請參閱 [步驟 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 Resource Name (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. [將佇列訂閱至您在步驟 3 中建立的主題](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-subscribe-queue-sns-topic.html)。

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 Resource Name (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. 在導覽窗格中，選擇 **Roles** (角色)。

1. 選擇 **Create Role** (建立角色)。

1. 對於 **Select type of trusted entity (選取信任的實體類型)**，選擇 **AWS service (AWS 服務)**。

1. 適用於**選擇將使用此角色的服務**，選擇**Textract**。

1. 選擇 **Next:** (下一步：) **Permissions** (許可)。

1. 驗證**AmazonTextractServiceRole**策略已包含在附加策略列表中。若要在清單中顯示政策，請在**篩選政策**。

1. 選擇 **Next:** (下一步：) **Tags** (標籤)。

1. 您不需要新增標籤，所以請選擇**下一頁: Review** (檢閱)。

1. 在 **Review (檢閱)** 區段中，針對 **Role name (角色名稱)**，輸入角色的名稱 (例如，`TextractRole`)。In**角色描述**，請更新該角色的描述，然後選擇**建立角色**。

1. 選擇新角色來開啟角色的詳細資訊頁面。

1. 在 **Summary (摘要)** 中，複製 **Role ARN (角色 ARN)** 值，並將其儲存。

1. 選擇 **Trust relationships (信任關係)**。

1. 選擇**編輯信任關係**，並確保信任策略如下所示。

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

1. 選擇 **Update Trust Policy** (更新信任政策)。