全球和多区域端点

Cloud Translation 高级版提供全球端点以及欧盟和美国多区域端点:

  • translate.googleapis.com(全球)
  • translate-eu.googleapis.com
  • translate-us.googleapis.com

如果您使用多区域端点,您的静态数据和机器学习处理会保留在欧盟或美国的大陆边界内。如果您必须控制数据的位置以符合当地法规的要求,则这些多区域端点很重要。

如果您未指定端点,Cloud Translation 高级版默认使用全球端点。

比较全球端点和多区域端点

与使用全球端点相比,使用多区域端点有以下不同:

  • 不支持使用自定义 AutoML 模型的文本翻译。您只能使用预训练的 NMT 模型。
  • 不支持未正式发布(仍处于预览版阶段)的功能。
  • 通过全球端点进行的调用无法访问使用多区域端点创建的资源。同样,通过多区域端点进行的调用无法访问使用全球端点创建的资源。

限制资源位置

组织政策管理员可通过创建资源位置限制条件来限制可用于 Cloud Translation 高级版资源的区域。如果进行了此设置,Cloud Translation 高级版用户只能在特定位置创建资源。

指定端点

以下示例展示了使用多区域端点的文本翻译。如果您使用客户端库,请将 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 方法和网址:

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 print-access-token)" \
-H "x-goog-user-project: PROJECT_NUMBER_OR_ID" \
-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 print-access-token
$headers = @{ "Authorization" = "Bearer $cred"; "x-goog-user-project" = "PROJECT_NUMBER_OR_ID" }

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"
    }
  ]
}