リージョンのエンドポイントを指定する

Cloud Translation - Advanced は EU リージョンの API エンドポイントを提供しています。リージョンのエンドポイントを使用している場合、データは転送中も保存時も、EU の大陸境界内にとどまります。現地の規制要件に合わせてデータのロケーションを制御する必要がある場合は、エンドポイントの指定が重要となります。Cloud Translation - Advanced EU リージョン API エンドポイントは translate-eu.googleapis.com です。

EU のリージョン API エンドポイントを使用する場合と、グローバル エンドポイント(translate.googleapis.com)を使用する場合にはいくつかの違いがあります。

  • カスタム AutoML モデルを使用するテキスト翻訳はサポートされていません。事前トレーニング済み NMT モデルのみを使用できます。
  • 一括翻訳はサポートされていません。
  • ドキュメントの翻訳など、一般提供されていない(まだプレビュー)機能はサポートされていません。
  • グローバル エンドポイントを介した呼び出しでは、ロケーションが europe-west1 の EU エンドポイントを使用して作成されたリソースにはアクセスできません。同様に、EU エンドポイントを介した呼び出しでも、グローバル エンドポイントを使用して作成されたリソースにはアクセスできません。

リソース ロケーションの制限

組織のポリシーの管理者は、リソース ロケーションの制約を作成して、Cloud Translation - Advanced リソースに使用できるリージョンを制限できます。

使用例

次の例は、リージョン エンドポイントを使用するテキスト翻訳を示しています。クライアント ライブラリを使用する場合は、API エンドポイントをクライアント オプションの一部として設定します。いくつかの例については、Cloud Natural Language API ガイドのクライアント ライブラリを使用してロケーションを設定するをご覧ください。

REST とコマンドライン

リクエストのデータを使用する前に、次のように置き換えます。

  • PROJECT_NUMBER_OR_ID: Google Cloud プロジェクト番号または ID。
  • ENDPOINT: データが存在するリージョンを決定するリージョン エンドポイント。例: translate-eu.googleapis.com
  • LOCATION: この操作を行うリージョン。リージョン エンドポイントの大陸の境界内のリージョンを選択する必要があります。たとえば、translate-eu.googleapis.com エンドポイントを使用する場合は、europe-west1 などのヨーロッパのリージョンを指定します。

HTTP メソッドと URL:

POST https://ENDPOINT/v3/projects/PROJECT_NUMBER_OR_ID/locations/LOCATION:translateText

JSON 本文のリクエスト:

{
  "model": "projects/PROJECT_NUMBER_OR_ID/locations/LOCATION/models/general/base",
  "sourceLanguageCode": "en",
  "targetLanguageCode": "de",
  "contents": ["Come here!"]
}

リクエストを送信するには、次のいずれかのオプションを選択します。

curl

リクエスト本文を request.json という名前のファイルに保存して、次のコマンドを実行します。

curl -X POST \
-H "Authorization: Bearer "$(gcloud auth application-default print-access-token) \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://ENDPOINT/v3/projects/PROJECT_NUMBER_OR_ID/locations/LOCATION:translateText "

PowerShell

リクエスト本文を request.json という名前のファイルに保存して、次のコマンドを実行します。

$cred = gcloud auth application-default print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://ENDPOINT/v3/projects/PROJECT_NUMBER_OR_ID/locations/LOCATION:translateText " | Select-Object -Expand Content

次のような JSON レスポンスが返されます。

{
  "translations": [
    {
      "translatedText": "Komm her!",
      "model": "projects/PROJECT_NUMBER_OR_ID/locations/LOCATION/models/general/base"
    }
  ]
}