Puntos finales globales y multirregionales

Cloud Translation - Advanced ofrece un endpoint global, así como endpoints multirregionales de la UE y EE. UU.:

  • translate.googleapis.com (global)
  • translate-eu.googleapis.com
  • translate-us.googleapis.com

Si usas un endpoint multirregional, tus datos en reposo y el procesamiento de aprendizaje automático se mantienen dentro de las fronteras continentales de la UE o de EE. UU. Estos endpoints multirregionales son importantes si la ubicación de tus datos debe controlarse para cumplir los requisitos normativos locales.

Si no especifica ningún endpoint, Cloud Translation - Advanced usará el endpoint global de forma predeterminada.

Puntos finales globales y multirregionales

Si usas un endpoint multirregional, hay algunas diferencias en comparación con el endpoint global:

  • No se admiten traducciones de texto que usen modelos personalizados de AutoML. Solo puedes usar el modelo de TNM preentrenado.
  • No se admiten las funciones que no están disponibles (es decir, que aún están en vista previa).
  • Las llamadas a través del endpoint global no pueden acceder a los recursos que se hayan creado mediante un endpoint multirregional. Del mismo modo, las llamadas a través de un endpoint multirregional no pueden acceder a recursos creados mediante el endpoint global.

Restringir ubicaciones de recursos

Los administradores de políticas de la organización pueden restringir las regiones disponibles para los recursos de Cloud Translation Advanced creando una restricción de ubicaciones de recursos. Si se define, los usuarios de Cloud Translation Advanced solo podrán crear recursos en una ubicación concreta.

Restringir el uso de puntos de conexión de API globales

Para ayudar a aplicar el uso de endpoints regionales, los administradores de políticas de organización pueden usar la restricción de política de organización constraints/gcp.restrictEndpointUsage para bloquear las solicitudes al endpoint de la API global. Para obtener más información, consulta Restringir el uso de endpoints.

Especificar un endpoint

En el siguiente ejemplo se muestra una traducción de texto que usa un endpoint multirregional. Si usas las bibliotecas de cliente, define el endpoint de la API como parte de las opciones del cliente. Para ver algunos ejemplos, consulta Definir la ubicación con bibliotecas de cliente en la guía de la API Natural Language de Cloud.

REST

Antes de usar los datos de la solicitud, haz las siguientes sustituciones:

  • PROJECT_NUMBER_OR_ID: el ID numérico o alfanumérico de tu Google Cloud proyecto
  • ENDPOINT: punto de conexión regional, que determina dónde residen tus datos. Por ejemplo, translate-eu.googleapis.com.
  • LOCATION: región en la que quieres ejecutar esta operación. Debes elegir una región que esté dentro del límite continental del endpoint regional. Por ejemplo, si usas el endpoint translate-eu.googleapis.com, especifica una región de Europa, como europe-west1.

Método HTTP y URL:

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

Cuerpo JSON de la solicitud:

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

Para enviar tu solicitud, elige una de estas opciones:

curl

Guarda el cuerpo de la solicitud en un archivo llamado request.json y ejecuta el siguiente comando:

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

Guarda el cuerpo de la solicitud en un archivo llamado request.json y ejecuta el siguiente comando:

$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

Deberías recibir una respuesta JSON similar a la siguiente:

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