En este instructivo, se muestra cómo crear un flujo de trabajo que usa el conector de la API de Cloud Translation para traducir archivos a otros idiomas en modo asíncrono por lotes. Esto proporciona un resultado en tiempo real a medida que se procesan las entradas.
Objetivos
En este instructivo, realizarás las siguientes acciones:
- Crear un bucket de Cloud Storage de entrada
- Crear dos archivos en inglés y subirlos al bucket de entrada
- Crear un flujo de trabajo que use el conector de la API de Cloud Translation para traducir los dos archivos al francés y al español, y guardar los resultados en un bucket de salida
- Implementar y ejecutar el flujo de trabajo para organizar todo el proceso
Costos
En este documento, usarás los siguientes componentes facturables de Google Cloud:
Para generar una estimación de costos en función del uso previsto,
usa la calculadora de precios.
Antes de comenzar
Es posible que las restricciones de seguridad que define tu organización no te permitan completar los siguientes pasos. Para obtener información sobre la solución de problemas, consulta Desarrolla aplicaciones en un entorno Google Cloud restringido.
- Accede a tu Google Cloud cuenta de. Si eres nuevo en Google Cloud, crea una cuenta para evaluar el rendimiento de nuestros productos en situaciones reales. Los clientes nuevos también obtienen $300 en créditos gratuitos para ejecutar, probar y, además, implementar cargas de trabajo.
-
Instala Google Cloud CLI.
-
Si usas un proveedor de identidad externo (IdP), primero debes acceder a la gcloud CLI con tu identidad federada.
-
Para inicializar gcloud CLI, ejecuta el siguiente comando:
gcloud init -
Crea o selecciona un Google Cloud proyecto.
Roles necesarios para seleccionar o crear un proyecto
- Seleccionar un proyecto: Para seleccionar un proyecto, no se requiere un rol de IAM específico. Puedes seleccionar cualquier proyecto en el que se te haya otorgado un rol.
-
Crear un proyecto: Para crear un proyecto, necesitas el rol de creador de proyectos
(
roles/resourcemanager.projectCreator), que contiene elresourcemanager.projects.createpermiso. Obtén información para otorgar roles.
-
Crea un Google Cloud proyecto de:
gcloud projects create PROJECT_ID
Reemplaza
PROJECT_IDpor un nombre para el Google Cloud proyecto que estás creando. -
Selecciona el Google Cloud proyecto que creaste:
gcloud config set project PROJECT_ID
Reemplaza
PROJECT_IDpor el nombre de tu Google Cloud proyecto de.
-
Verifica que la facturación esté habilitada para tu Google Cloud proyecto.
Habilita las APIs de Cloud Storage, Translation y Workflows:
Roles necesarios para habilitar las APIs
Para habilitar las APIs, necesitas el permiso
serviceusage.services.enable. Si creaste el proyecto, es probable que ya tengas este permiso a través del rol de propietario (roles/owner). De lo contrario, puedes obtener este permiso a través del rol de administrador de Service Usage (roles/serviceusage.serviceUsageAdmin). Obtén información para otorgar roles.gcloud services enable storage.googleapis.com
translate.googleapis.com workflows.googleapis.com -
Instala Google Cloud CLI.
-
Si usas un proveedor de identidad externo (IdP), primero debes acceder a la gcloud CLI con tu identidad federada.
-
Para inicializar gcloud CLI, ejecuta el siguiente comando:
gcloud init -
Crea o selecciona un Google Cloud proyecto.
Roles necesarios para seleccionar o crear un proyecto
- Seleccionar un proyecto: Para seleccionar un proyecto, no se requiere un rol de IAM específico. Puedes seleccionar cualquier proyecto en el que se te haya otorgado un rol.
-
Crear un proyecto: Para crear un proyecto, necesitas el rol de creador de proyectos
(
roles/resourcemanager.projectCreator), que contiene elresourcemanager.projects.createpermiso. Obtén información para otorgar roles.
-
Crea un Google Cloud proyecto de:
gcloud projects create PROJECT_ID
Reemplaza
PROJECT_IDpor un nombre para el Google Cloud proyecto que estás creando. -
Selecciona el Google Cloud proyecto que creaste:
gcloud config set project PROJECT_ID
Reemplaza
PROJECT_IDpor el nombre de tu Google Cloud proyecto de.
-
Verifica que la facturación esté habilitada para tu Google Cloud proyecto.
Habilita las APIs de Cloud Storage, Translation y Workflows:
Roles necesarios para habilitar las APIs
Para habilitar las APIs, necesitas el permiso
serviceusage.services.enable. Si creaste el proyecto, es probable que ya tengas este permiso a través del rol de propietario (roles/owner). De lo contrario, puedes obtener este permiso a través del rol de administrador de Service Usage (roles/serviceusage.serviceUsageAdmin). Obtén información para otorgar roles.gcloud services enable storage.googleapis.com
translate.googleapis.com workflows.googleapis.com - Actualiza los componentes de gcloud:
gcloud components update
- Accede con tu cuenta:
gcloud auth login
- Establece la ubicación predeterminada que se usa en este instructivo:
gcloud config set workflows/location us-central1
Como este instructivo usa el modelo predeterminado de AutoML Translation que reside en
us-central1, debes establecer la ubicación enus-central1.Si usas un modelo o glosario de AutoML Translation que no sea el predeterminado, asegúrate de que resida en la misma ubicación que la llamada al conector; de lo contrario, se mostrará un
INVALID_ARGUMENT (400)error. Para obtener más información, consulta el método batchTranslateText.
Crea un bucket de Cloud Storage y archivos de entrada
Puedes usar Cloud Storage para almacenar objetos. Los objetos son datos inmutables que constan de un archivo de cualquier formato y se almacenan en contenedores llamados buckets.
Crea un bucket de Cloud Storage para contener los archivos que se traducirán:
BUCKET_INPUT=${GOOGLE_CLOUD_PROJECT}-input-files gcloud storage buckets create gs://${BUCKET_INPUT}
Crea dos archivos en inglés y súbelos al bucket de entrada:
echo "Hello World!" > file1.txt gcloud storage cp file1.txt gs://${BUCKET_INPUT} echo "Workflows connectors simplify calling services." > file2.txt gcloud storage cp file2.txt gs://${BUCKET_INPUT}
Implementa y ejecuta el flujo de trabajo
Un flujo de trabajo está compuesto por una serie de pasos descritos con la sintaxis de Workflows, que se pueden escribir en formato YAML o JSON. Esta es la definición del flujo de trabajo. Después de crear un flujo de trabajo, debes implementarlo a fin de que esté disponible para su ejecución.
Crea un archivo de texto con el nombre de archivo
workflow.yamly el siguiente contenido:El flujo de trabajo asigna variables, crea un bucket de salida y comienza la traducción de los archivos, guardando los resultados en el bucket de salida.
Después de crear el flujo de trabajo, impleméntalo:
gcloud workflows deploy batch-translation --source=workflow.yaml
Ejecuta el flujo de trabajo:
gcloud workflows execute batch-translation
Para ver el estado del flujo de trabajo, puedes ejecutar el comando que se muestra. Por ejemplo:
gcloud workflows executions describe eb4a6239-cffa-4672-81d8-d4caef7d8424 / --workflow batch-translation / --location us-central1
El flujo de trabajo debe ser
ACTIVE. Después de unos minutos, los archivos traducidos (en francés y español) se suben al bucket de salida.
Enumera los objetos en el bucket de salida
Para confirmar que el flujo de trabajo funcionó como se esperaba, enumera los objetos en tu bucket de salida.
Recupera el nombre de tu bucket de salida:
gcloud storage ls
El resultado es similar a este:
gs://PROJECT_ID-input-files/ gs://PROJECT_ID-output-files-TIMESTAMP/
Enumera los objetos en tu bucket de salida:
gcloud storage ls gs://PROJECT_ID-output-files-TIMESTAMP/** --recursive
Después de unos minutos, se muestran los archivos traducidos, dos de cada uno en francés y español.
Limpia
Si creaste un proyecto nuevo para este instructivo, bórralo. Si usaste un proyecto existente y deseas conservarlo sin los cambios que se agregaron en este instructivo, borra los recursos creados para el instructivo.
Borra el proyecto
La manera más fácil de eliminar la facturación es borrar el proyecto que tú creaste para el instructivo.
Para borrar el proyecto, haz lo siguiente:
- En la Google Cloud consola, ve a la página Administrar recursos.
- En la lista de proyectos, elige el proyecto que deseas borrar y haz clic en Borrar.
- En el diálogo, escribe el ID del proyecto y, luego, haz clic en Cerrar para borrarlo.
Elimina recursos de instructivos
Quita la configuración predeterminada de gcloud que agregaste durante la configuración del instructivo:
gcloud config unset workflows/location
Borra el flujo de trabajo que se creó en este instructivo:
gcloud workflows delete WORKFLOW_NAME
Borra un bucket y sus objetos creados en este instructivo:
gcloud storage rm gs://BUCKET_NAME --recursive
En el ejemplo anterior,
BUCKET_NAMEes el nombre del bucket que se borrará. Por ejemplo,my-bucket.La respuesta es similar al ejemplo a continuación:
Removing gs://my-bucket/...
¿Qué sigue?
- Para obtener más información sobre Workflows, consulta Descripción de Workflows.
- Para obtener más información sobre la sintaxis de Workflows, consulta la referencia de sintaxis de Workflows.
- Para obtener más información sobre los conectores de Workflows, consulta Descripción de los conectores.