批次翻譯工作的先決條件 - Amazon Translate

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

批次翻譯工作的先決條件

必須符合下列先決條件,Amazon Translate 才能成功執行批次翻譯任務:

  • 包含輸入和輸出文件的 Amazon S3 儲存貯體必須與您呼叫的 API 端點位於相同的AWS區域。

  • 批次輸入文件的集合大小必須為 5 GB 或更小。

  • 批次翻譯工作中最多可提交 100 萬個文件。

  • 每個輸入文件必須少於 20 MB,且必須包含少於 100 萬個字元。

  • 您的輸入檔案必須位於 Amazon S3 儲存貯體的資料夾。如果您將輸入檔案新增至儲存貯體的最上層,Amazon Translate 會在您嘗試執行批次翻譯任務時擲回錯誤。此要求適用於輸入文件。輸出文件不需要任何文件夾,Amazon Translate 可以將它們放在 Amazon S3 存儲桶的頂層。

  • 您的輸入檔案資料夾可以包含巢狀資料夾。請確定沒有命名任何巢狀資料夾details,否則當您嘗試執行批次翻譯任務時,Amazon Translate 會擲回錯誤。

支援的檔案格式

Amazon Translate 支援批次翻譯任務的檔案類型如下:

  • 純文字。

  • HTML。

  • 字文檔(.docx)。

  • PowerPoint 簡報檔案 (.pptx)。

  • Excel 工作簿文件(.xlsx)。

  • XML 本地化交換檔案格式 (XLIFF) 檔案 (.xlf)。Amazon Translate veloper 只支援 XLIFF 1.2 版。

Amazon Translate per 要求檔案經過 UTF-8 編碼。

必要權限

您的AWS帳戶必須在 IAM 中具有服務角色,才能執行批次翻譯工作。此角色必須具有授予 Amazon Translate 的許可政策:

  • 對 Amazon S3 中的輸入資料夾及其所有子資料夾的讀取存取權。

  • 您的輸出儲存貯體的讀取和寫入權限。

它還必須包含信任政策,該政策可允許 Amazon Translate per Guide。此信任原則必須允許translate.amazonaws.com服務主體執行sts:AssumeRole動作。

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

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

範例 許可政策

下列 Example Manarper 政策授權存取 Amazon S3 儲存貯體的 Example Manarper。它授權讀取和寫入存取權。

{ "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/*" } ] }
範例 信任政策

下列信任政策允許 Amazon Translate 擔任該政策所屬的 IAM 角色。

我們建議您驗證使用信任原則的AWS帳戶,以減輕混淆的副問題。此範例使用aws:SourceArnaws: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" } } } ] }

自訂加密的先決條件權限

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

Amazon Translate 翻譯會加密您在執行批次翻譯任務時產生的翻譯輸出。默認情況下,它使用 AWS 受管金鑰. 這種類型的密鑰由創建AWS並存儲在您的帳戶AWS Key Management Service(AWS KMS)中。不過,您無法自行管理此 KMS 金鑰。它僅由代表您管理和使用AWS。

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

您的金鑰必須有一個金鑰政策,讓 Amazon Translate per Guide。金鑰政策透過授予允許 Amazon Translate 存取 Amazon S3 儲存貯體的服務角色的許可來達成此目的。

金鑰原則可讓服務角色執行加密輸出所需的AWS KMS作業,如下列範例原則陳述式所示。

範例 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中的主要政策

使用其他AWS帳戶AWS KMS金鑰的權限

如果您想要使用與使用 Amazon TranslateAWS 帳戶不同的 KMS 金鑰,您必須:

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

  2. 更新中的金鑰原則AWS KMS。

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

範例 IAM 政策:授權存取不同帳戶的 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 金鑰原則,請將服務角色和 admin 使用者新增為允許使用金鑰的主體,如下列原則陳述式範例所示。

範例 允許 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 ServiceDeveloper Guide Guide Developer Guide Developer Guide Developer Guide Developer GuideAWS KMS