翻訳の開始

リファレンス
サービス: Azure AI ドキュメント翻訳
API バージョン: v1.1

この API を使用して、Document Translation サービスで翻訳要求を開始します。 各要求には複数のドキュメントを含めることができ、各ドキュメントのソースと宛先のコンテナーが含まれている必要があります。

フォルダーをフィルター処理するには、プレフィックスとサフィックスのフィルター (指定された場合) を使用します。 プレフィックスは、コンテナー名の後のサブパスに適用されます。

用語集および翻訳メモリは、要求に含めることができ、ドキュメントが翻訳されるときにサービスによって適用されます。

翻訳中に用語集が無効であったり、到達できなかったりした場合は、ドキュメントの状態にエラーが表示されます。 同じ名前のファイルが宛先に既に存在する場合、ジョブは失敗します。 各ターゲット言語の targetUrl は一意でなければなりません。

要求 URL

POST 要求の送信先は次のとおりです。

POST https://<NAME-OF-YOUR-RESOURCE>.cognitiveservices.azure.com/translator/text/batch/v1.1/batches

カスタム ドメイン名を見つける方法について説明します。

重要

  • ドキュメント翻訳サービスへのすべての API 要求には、カスタム ドメイン エンドポイントが必要です
  • ドキュメント翻訳への HTTP 要求を行うために、Azure portal リソースの [キーとエンドポイント] ページで見つかるエンドポイントも、グローバル Translator エンドポイント api.cognitive.microsofttranslator.com も使用することはできません。

要求ヘッダー

要求ヘッダーを次に示します。

ヘッダー 説明
Ocp-Apim-Subscription-Key 必要な要求ヘッダー

BatchRequest (本文)

入力バッチの翻訳要求に関する定義。 各要求には複数のドキュメントを含めることができ、各ドキュメントのソースとターゲットのコンテナーが含まれている必要があります。 ソース メディアの種類: application/jsontext/jsonapplication/*+json


{
  "inputs": [
    {
      "source": {
        "sourceUrl": "https://myblob.blob.core.windows.net/Container/",
        "filter": {
          "prefix": "FolderA",
          "suffix": ".txt"
        },
        "language": "en",
        "storageSource": "AzureBlob"
      },
      "targets": [
        {
          "targetUrl": "https://myblob.blob.core.windows.net/TargetUrl/",
          "category": "general",
          "language": "fr",
          "glossaries": [
            {
              "glossaryUrl": "https://myblob.blob.core.windows.net/Container/myglossary.tsv",
              "format": "XLIFF",
              "version": "2.0",
              "storageSource": "AzureBlob"
            }
          ],
          "storageSource": "AzureBlob"
        }
      ],
      "storageType": "Folder"
    }
  ],
  "options": {
    "experimental": true
  }
}

入力

入力バッチの翻訳要求に関する定義。

主なパラメーター Type 必須 要求パラメーター 説明
入力 array True • source (オブジェクト)

• targets (配列)

• storageType (文字列)
入力ソース データ。

inputs.source

ソース データの定義。

主なパラメーター Type 必須 要求パラメーター 説明
inputs.source object True • sourceUrl (文字列)

• filter (オブジェクト)

• language (文字列)

• storageSource (文字列)
入力ドキュメントのソース データ。
inputs.source.sourceUrl string True • 文字列 ソース ファイルまたはフォルダーのコンテナーの場所。
inputs.source.filter object False • prefix (文字列)

• suffix (文字列)
ソース パス内のドキュメントをフィルター処理するための大文字と小文字を区別する文字列。
inputs.source.filter.prefix string False • 文字列 翻訳対象のソース パス内のドキュメントをフィルター処理するための、大文字と小文字を区別するプレフィックス文字列。 多くの場合、翻訳用のサブフォルダーを指定するために使用されます。 例: "FolderA"。
inputs.source.filter.suffix string False • 文字列 翻訳対象のソース パス内のドキュメントをフィルター処理するための、大文字と小文字を区別するサフィックス文字列。 ほとんどの場合、ファイル拡張子に使用されます。 例: ".txt"
inputs.source.language string False • 文字列 ソース ドキュメントの言語コード。 指定しない場合は、自動検出が実装されます。
inputs.source.storageSource string False • 文字列 入力のストレージ ソース。 既定値は AzureBlob です。

inputs.targets

ターゲットと用語集のデータの定義。

主なパラメーター Type 必須 要求パラメーター 説明
inputs.targets array True • targetUrl (文字列)

• category (文字列)

• language (文字列)

• glossaries (配列)

• storageSource (文字列)
翻訳対象ドキュメントのターゲットと用語集のデータ。
inputs.targets.targetUrl string True • 文字列 翻訳対象ドキュメントのコンテナーの場所。
inputs.targets.category string False • 文字列 翻訳要求の分類またはカテゴリ。 例: general
inputs.targets.language string True • 文字列 ターゲット言語コード。 例: "fr"。
inputs.targets.glossaries array False • glossaryUrl (文字列)

• format (文字列)

• version (文字列)

• storageSource (文字列)
用語集の作成と使用に関する記事を "参照してください"
inputs.targets.glossaries.glossaryUrl string True (用語集を使用する場合) • 文字列 用語集の場所。 format パラメーターが指定されていない場合は、ファイル拡張子を使用して書式設定を抽出します。 翻訳言語のペアが用語集に存在しない場合は、適用されません。
inputs.targets.glossaries.format string False • 文字列 用語集の指定されたファイル形式。 ファイル形式がサポートされているかどうかを確認するには、「サポートされる用語集の形式の取得」を "参照" してください。
inputs.targets.glossaries.version string False • 文字列 バージョン インジケーター。 例: "2.0"。
inputs.targets.glossaries.storageSource string False • 文字列 用語集のストレージ ソース。 既定値は _AzureBlob_ です。
inputs.targets.storageSource string False • 文字列 ターゲットのストレージ ソース。既定値は _AzureBlob_.

inputs.storageType

入力ドキュメントのストレージ エンティティの定義。

主なパラメーター Type 必須 要求パラメーター 説明
inputs.storageType string False Folder

File
入力ドキュメントのソース文字列のストレージ型です。 有効な値は "Folder" または "File" のみです。

[オプション]

入力バッチの翻訳要求に関する定義。

主なパラメーター Type 必須 要求パラメーター 説明
options object False 入力ドキュメントのソース情報。
options.experimental boolean False true

false
要求に実験用機能が含まれているかどうかを示します (該当する場合)。 有効な値はブール値 true または false のみです。

要求の例

バッチ要求の例を下に示します。

注意

次の例では、Shared Access Signature (SAS) トークンを使用して、Azure Storage コンテナーのコンテンツに制限付きアクセスが許可されています。

コンテナー内のすべてのドキュメントを翻訳する

{
    "inputs": [
        {
            "source": {
                "sourceUrl": "https://my.blob.core.windows.net/source-en?sv=2019-12-12&st=2021-03-05T17%3A45%3A25Z&se=2021-03-13T17%3A45%3A00Z&sr=c&sp=rl&sig=SDRPMjE4nfrH3csmKLILkT%2Fv3e0Q6SWpssuuQl1NmfM%3D"
            },
            "targets": [
                {
                    "targetUrl": "https://my.blob.core.windows.net/target-fr?sv=2019-12-12&st=2021-03-05T17%3A49%3A02Z&se=2021-03-13T17%3A49%3A00Z&sr=c&sp=wdl&sig=Sq%2BYdNbhgbq4hLT0o1UUOsTnQJFU590sWYo4BOhhQhs%3D",
                    "language": "fr"
                }
            ]
        }
    ]
}

コンテナー内のすべてのドキュメントを翻訳して用語集を適用する

{
    "inputs": [
        {
            "source": {
                "sourceUrl": "https://my.blob.core.windows.net/source-en?sv=2019-12-12&st=2021-03-05T17%3A45%3A25Z&se=2021-03-13T17%3A45%3A00Z&sr=c&sp=rl&sig=SDRPMjE4nfrH3csmKLILkT%2Fv3e0Q6SWpssuuQl1NmfM%3D"
            },
            "targets": [
                {
                    "targetUrl": "https://my.blob.core.windows.net/target-fr?sv=2019-12-12&st=2021-03-05T17%3A49%3A02Z&se=2021-03-13T17%3A49%3A00Z&sr=c&sp=wdl&sig=Sq%2BYdNbhgbq4hLT0o1UUOsTnQJFU590sWYo4BOhhQhs%3D",
                    "language": "fr",
                    "glossaries": [
                        {
                            "glossaryUrl": "https://my.blob.core.windows.net/glossaries/en-fr.xlf?sv=2019-12-12&st=2021-03-05T17%3A45%3A25Z&se=2021-03-13T17%3A45%3A00Z&sr=c&sp=rl&sig=BsciG3NWoOoRjOYesTaUmxlXzyjsX4AgVkt2AsxJ9to%3D",
                            "format": "xliff",
                            "version": "1.2"
                        }
                    ]

                }
            ]
        }
    ]
}

コンテナー内の特定のフォルダーを翻訳する

フィルターでは、フォルダー名 (大文字と小文字が区別されます) をプレフィックスとして指定してください。

{
    "inputs": [
        {
            "source": {
                "sourceUrl": "https://my.blob.core.windows.net/source-en?sv=2019-12-12&st=2021-03-05T17%3A45%3A25Z&se=2021-03-13T17%3A45%3A00Z&sr=c&sp=rl&sig=SDRPMjE4nfrH3csmKLILkT%2Fv3e0Q6SWpssuuQl1NmfM%3D",
                "filter": {
                    "prefix": "MyFolder/"
                }
            },
            "targets": [
                {
                    "targetUrl": "https://my.blob.core.windows.net/target-fr?sv=2019-12-12&st=2021-03-05T17%3A49%3A02Z&se=2021-03-13T17%3A49%3A00Z&sr=c&sp=wdl&sig=Sq%2BYdNbhgbq4hLT0o1UUOsTnQJFU590sWYo4BOhhQhs%3D",
                    "language": "fr"
                }
            ]
        }
    ]
}

コンテナー内の特定のドキュメントを翻訳する

  • "storageType" を指定します。 File
  • 特定の BLOB/ドキュメントのソース URL と SAS トークンを作成します。
  • ターゲット URL の一部としてターゲット ファイル名を指定します (ただし、SAS トークンはコンテナー用のままです)。

このサンプル要求は、2 つのターゲット言語に翻訳された 1 つのドキュメントを示しています。

{
    "inputs": [
        {
            "storageType": "File",
            "source": {
                "sourceUrl": "https://my.blob.core.windows.net/source-en/source-english.docx?sv=2019-12-12&st=2021-01-26T18%3A30%3A20Z&se=2021-02-05T18%3A30%3A00Z&sr=c&sp=rl&sig=d7PZKyQsIeE6xb%2B1M4Yb56I%2FEEKoNIF65D%2Fs0IFsYcE%3D"
            },
            "targets": [
                {
                    "targetUrl": "https://my.blob.core.windows.net/target/try/Target-Spanish.docx?sv=2019-12-12&st=2021-01-26T18%3A31%3A11Z&se=2021-02-05T18%3A31%3A00Z&sr=c&sp=wl&sig=AgddSzXLXwHKpGHr7wALt2DGQJHCzNFF%2F3L94JHAWZM%3D",
                    "language": "es"
                },
                {
                    "targetUrl": "https://my.blob.core.windows.net/target/try/Target-German.docx?sv=2019-12-12&st=2021-01-26T18%3A31%3A11Z&se=2021-02-05T18%3A31%3A00Z&sr=c&sp=wl&sig=AgddSzXLXwHKpGHr7wALt2DGQJHCzNFF%2F3L94JHAWZM%3D",
                    "language": "de"
                }
            ]
        }
    ]
}

応答状態コード

要求によって返される可能性のある HTTP 状態コードを次に示します。

状態コード 説明
202 受理されました。 要求が成功し、バッチ要求が作成されます。 ヘッダー Operation-Location は、ID.HeadersOperation-Location: string という操作の状態 URL を示します
400 正しくない要求。 無効な要求です。 入力パラメーターを確認してください。
401 権限がありません。 資格情報を確認してください。
429 要求レートが高すぎます。
500 内部サーバー エラー。
503 現在サービスが使用できません。 後でもう一度やり直してください。
その他の状態コード • 要求が多すぎます
• サーバーの一時的な利用不可

エラー応答

主なパラメーター 説明
code string 高レベルのエラー コードを含む列挙型。 指定できる値
  • InternalServerError
  • InvalidArgument
  • InvalidRequest
  • RequestRateTooHigh
  • ResourceNotFound
  • ServiceUnavailable
  • 権限がありません
メッセージ string 高レベルのエラー メッセージを取得します。
innerError InnerTranslationError Azure AI サービス API のガイドラインに準拠した新しい内部エラー形式。 このエラー メッセージには、ErrorCode、message、および省略可能なプロパティ ターゲット、details(キー値ペア)、および内部エラー (入れ子にできる) の必須プロパティが含まれています。
inner.Errorcode string コード エラー文字列を取得します。
innerError.message string 高レベルのエラー メッセージを取得します。
innerError.target string エラーのソースを取得します。 たとえば、ドキュメントが無効な場合には documents または document id になります。

成功した応答の例

成功した応答では、次の情報が返されます。

ジョブ ID は、POST メソッドの応答ヘッダー Operation-Location URL 値で確認できます。 URL の最後のパラメーターは、操作のジョブ ID ("/operation/" に続く文字列) です。

Operation-Location: https://<NAME-OF-YOUR-RESOURCE>.cognitiveservices.azure.com/translator/text/batch/v1.1/operation/0FA2822F-4C2A-4317-9C20-658C801E0E55

エラー応答の例

{
  "error": {
    "code": "ServiceUnavailable",
    "message": "Service is temporary unavailable",
    "innerError": {
      "code": "ServiceTemporaryUnavailable",
      "message": "Service is currently unavailable.  Please try again later"
    }
  }
}

次のステップ

クイックスタートに従って、ドキュメント翻訳とクライアント ライブラリの使用について学習します。