

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

# 批次翻譯任務的先決條件
<a name="async-prereqs"></a>

必須符合下列先決條件，Amazon Translate 才能執行成功的批次翻譯任務：
+ 包含輸入和輸出文件的 Amazon S3 儲存貯體必須與您呼叫的 API 端點位於相同的 AWS 區域。
+ 批次輸入文件的集合大小必須為 5 GB 或更小。
+ 批次翻譯工作中最多可提交 100 萬個文件。
+ 每個輸入文件都必須為 20 MB 或更少，且必須包含少於 100 萬個字元。
+ 您的輸入檔案必須位於 Amazon S3 儲存貯體的資料夾中。如果您將輸入檔案新增至儲存貯體的頂層，Amazon Translate 會在您嘗試執行批次翻譯任務時擲回錯誤。此要求適用於輸入檔案。輸出檔案不需要資料夾，Amazon Translate 可以將它們放在 Amazon S3 儲存貯體的最上層。
+ 您的輸入檔案資料夾可以包含巢狀資料夾。請確定沒有任何巢狀資料夾名為 **details**，否則當您嘗試執行批次轉譯任務時，Amazon Translate 會擲回錯誤。

## 支援檔案格式
<a name="async-prereqs-formats"></a>

Amazon Translate 支援批次翻譯任務的下列檔案類型：
+ 純文字。
+ HTML。
+ Word 文件 (.docx)。
+ PowerPoint 簡報檔案 (.pptx)。
+ Excel 手冊檔案 (.xlsx)。
+ XML 當地語系化交換檔案格式 (XLIFF) 檔案 (.xlf)。Amazon Translate 僅支援 XLIFF 1.2 版。

Amazon Translate 要求檔案進行 UTF-8 編碼。

## 先決條件許可
<a name="async-prereqs-permissions"></a>

在您可以執行批次翻譯任務之前， AWS 您的帳戶必須在 IAM 中具有服務角色。此角色必須具有授予 Amazon Translate 的許可政策：
+ 在 Amazon S3 中讀取對輸入資料夾及其所有子資料夾的存取權。
+ 您的輸出儲存貯體的讀取和寫入權限。

它還必須包含允許 Amazon Translate 擔任角色並取得其許可的信任政策。此信任政策必須允許`translate.amazonaws.com`服務主體執行 `sts:AssumeRole`動作。

當您使用 Amazon Translate 主控台建立批次翻譯任務時，您可以選擇允許 Amazon Translate 自動為您建立此角色。當您使用 AWS CLI 或 Amazon Translate API 執行批次翻譯任務時，您可以在請求中提供角色的 Amazon Resource Name (ARN)。

如需詳細資訊，請參閱 IAM 使用者指南[https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-service.html](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-service.html)中的*建立角色以委派許可給 AWS 服務*。

**Example 許可政策**  
下列範例許可政策會授予對 Amazon S3 儲存貯體中輸入資料夾的讀取存取權。它授予對輸出儲存貯體的讀取和寫入存取權。    
****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": "s3:GetObject",
      "Resource": [
        "arn:aws:s3:::input-bucket-name/*",
        "arn:aws:s3:::output-bucket-name/*"
      ]
    },
    {
      "Effect": "Allow",
      "Action": "s3:ListBucket",
      "Resource": [
        "arn:aws:s3:::input-bucket-name",
        "arn:aws:s3:::output-bucket-name"
      ]
    },
    {
      "Effect": "Allow",
      "Action": [
        "s3:PutObject"
      ],
      "Resource": "arn:aws:s3:::output-bucket-name/*"
    }
  ]
}
```

**Example 信任政策**  
下列信任政策允許 Amazon Translate 擔任政策所屬的 IAM 角色。  
我們建議您驗證使用信任政策 AWS 的帳戶，以緩解[混淆代理人](https://docs.aws.amazon.com/IAM/latest/UserGuide/confused-deputy.html)問題。此範例使用 **aws:SourceArn**和 **aws:SourceAccount**條件金鑰來驗證來源帳戶。輸入提交批次翻譯任務 AWS 的帳戶。    
****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "translate.amazonaws.com"
      },
      "Action": "sts:AssumeRole",
      "Condition": {
        "ArnLike": {
            "aws:SourceArn": "arn:aws:translate:*:111122223333:*"
        },
        "StringEquals": {
            "aws:SourceAccount": "111122223333"
        }
      }
    }
  ]
}
```

## 自訂加密的先決條件許可
<a name="async-prereqs-permissions-custom-encryption"></a>

您可以在 Amazon Translate 中自訂加密設定，但您必須先將許可新增至 IAM 中的服務角色。

Amazon Translate 會加密您在執行批次翻譯任務時產生的翻譯輸出。根據預設，它會使用 執行此加密*AWS 受管金鑰*。這種類型的金鑰是由 建立， AWS 並儲存在帳戶中的 AWS Key Management Service (AWS KMS) 中。不過，您無法自行管理此 KMS 金鑰。它由 代您管理和使用 AWS。

或者，您可以選擇使用*客戶受管金鑰*來加密輸出，這是您在 AWS 帳戶中建立、擁有和管理的 KMS 金鑰。

您的金鑰必須具有可讓 Amazon Translate 使用金鑰政策。金鑰政策透過將其許可授予允許 Amazon Translate 存取 Amazon S3 儲存貯體的服務角色來執行此操作。

金鑰政策允許服務角色執行加密輸出所需的 AWS KMS 操作，如下列範例政策陳述式所示。

**Example KMS 金鑰政策陳述式**  

```
{
  "Effect": "Allow",
  "Principal":
  {
    "AWS":
    [
      "arn:aws:iam::111122223333:role/AmazonTranslateServiceRoleS3FullAccess"
    ]
  },
  "Action":
  [
    "kms:Decrypt",
    "kms:GenerateDataKey",
    "kms:CreateGrant",
    "kms:RetireGrant",
    "kms:DescribeKey"
  ],
  "Resource": "*"
}
```

如需詳細資訊，請參閱《 *AWS Key Management Service 開發人員指南*》中的 中的[金鑰政策 AWS KMS](https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html) 

### 從另一個 AWS 帳戶使用 AWS KMS 金鑰的許可
<a name="async-prereqs-permissions-custom-encryption-cross-account"></a>

如果您想要使用與使用 Amazon Translate 不同 AWS 帳戶中的 KMS 金鑰，則必須：

1. 在 IAM 中更新 Amazon Translate 的服務角色。

1. 在 中更新金鑰政策 AWS KMS。

若要更新您的服務角色，請連接允許其使用其他 AWS 帳戶中的 KMS 金鑰執行必要 AWS KMS 操作的政策，如下列範例所示。

**Example 授予不同帳戶中 KMS 金鑰存取權的 IAM 政策**  

```
{
  "Effect": "Allow",
  "Action":
  [
    "kms:Decrypt",
    "kms:GenerateDataKey",
    "kms:CreateGrant",
    "kms:RetireGrant",
    "kms:DescribeKey"
  ],
  "Resource": "arn:aws:kms:us-west-2:111122223333:key/key-id"
}
```

若要更新您的 KMS 金鑰政策，請將服務角色和管理使用者新增為允許使用金鑰的主體，如下列範例政策陳述式所示。

**Example 允許 IAM 角色使用金鑰的 KMS 金鑰政策陳述式**  

```
{
  "Effect": "Allow",
  "Principal":
  {
    "AWS":
    [
      "arn:aws:iam::444455556666:role/AmazonTranslateServiceRoleS3FullAccess",
      "arn:aws:iam::444455556666:admin"
    ]
  },
  "Action":
  [
    "kms:Decrypt",
    "kms:CreateGrant",
    "kms:GenerateDataKey",
    "kms:RetireGrant",
    "kms:DescribeKey"
  ],
  "Resource": "*"
}
```

如需詳細資訊，請參閱《 *AWS Key Management Service 開發人員指南*》中的[允許其他帳戶中的使用者使用 AWS KMS 金鑰](https://docs.aws.amazon.com/kms/latest/developerguide/key-policy-modifying-external-accounts.html) 