翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
バッチ翻訳ジョブの前提条件
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
-
Word ドキュメント (.docx)
-
PowerPoint プレゼンテーションファイル (.pptx)
-
Excel ワークブックファイル (.xlsx)
-
XML Localization Interchange File Format (XLIFF) ファイル (.xlf) Amazon Translate では XLIFF バージョン 1.2 のみがサポートされています。
Amazon Translate ではファイルを UTF-8 エンコーディングする必要があります。
前提となるアクセス許可
バッチ翻訳ジョブを実行する前に、AWSアカウントに IAM のサービスロールが必要です。このロールには、Amazon Translate に以下を付与するアクセス許可ポリシーがある必要があります。
-
Amazon S3 の入力フォルダとそのすべてのサブフォルダへの読み取りアクセス権
-
出力バケットへの読み取り/書き込みアクセス権
また、ロールを引き受け、アクセス許可を取得することを Amazon Translate に許可する信頼ポリシーが含まれている必要があります。この信頼ポリシーは、translate.amazonaws.com サービスプリンシパルによる sts:AssumeRole アクションの実行を許可する必要があります。
Amazon Translate コンソールを使用してバッチ翻訳ジョブを作成する場合、Amazon Translate でこのロールを自動的に作成できるようにするオプションがあります。AWS CLIまたは Amazon Translate API を使用してバッチ翻訳ジョブを実行する場合は、リクエストでロールの Amazon リソースネーム (ARN) を指定します。
詳細については、「IAM ユーザーガイド」の「AWS のサービスにアクセス許可を委任するロールの作成」を参照してください。
例 アクセス許可ポリシー
次のアクセス許可ポリシーの例では、Amazon S3 のサンプル入力フォルダへの読み取りアクセス権が付与されます。サンプル出力バケットへの読み取り/書き込みアクセス権が付与されます。
例 信頼ポリシー
次の信頼ポリシーでは、ポリシーが属する IAM ロールが Amazon Translate に引き受けられるようにしています。
混乱した代理問題を軽減するために、信頼ポリシーを使用しているAWSアカウントを確認することをお勧めします。次の例では、aws:SourceArn および aws:SourceAccount 条件キーを使用してソースアカウントを検証しています。バッチ翻訳ジョブを送信するAWSアカウントを入力します。
暗号化をカスタマイズするための前提となるアクセス許可
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オペレーションをサービスロールが実行できるようにします。
例 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 Translate を使用するアカウントとは異なるAWSアカウントにある KMS キーを使用する場合は、以下を行う必要があります。
-
IAM で Amazon Translate のサービスロールを更新する。
-
でキーポリシーを更新しますAWS KMS。
サービスロールを更新するには、次の例に示すように、他のAWSアカウントの KMS キーを使用して必要なAWS KMSオペレーションを実行できるようにするポリシーをアタッチします。
例 別のアカウントの 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 キーポリシーを更新するには、次のポリシーステートメントの例に示されているように、キーの使用が許可されているプリンシパルとしてサービスロールと管理者ユーザーを追加します。
例 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キーの使用を許可する」を参照してください。