Después de crear y almacenar en etapa intermedia tu plantilla de Dataflow, ejecuta la plantilla mediante Google Cloud Console, la API de REST o la herramienta de línea de comandos de gcloud
. Puedes implementar trabajos de plantilla de Dataflow desde muchos entornos, incluidos el entorno estándar de App Engine, Cloud Functions y otros entornos restringidos.
Nota: Además del archivo de plantilla, la ejecución de la canalización con plantilla se basa en archivos que se almacenaron en etapa intermedia y a los que se hizo referencia al momento de creación de la plantilla. Si mueves o quitas los archivos almacenados en etapa intermedia, el trabajo de canalización fallará.
Usa Cloud Console
Puedes usar Cloud Console para ejecutar plantillas de Dataflow personalizadas y proporcionadas por Google.
Plantillas que proporciona Google
Usa este comando para ejecutar una plantilla que proporciona Google:
- Ve a la página de Dataflow en Cloud Console. Ir a la página de Dataflow
- Haz clic en add_boxCREAR UN TRABAJO A PARTIR DE UNA PLANTILLA (Create job from template).
- Selecciona la plantilla que proporciona Google que deseas ejecutar en el menú desplegable Dataflow template (Plantilla de Dataflow).
- Ingresa un nombre para el trabajo en el campo Nombre del trabajo.
- Ingresa los valores de tus parámetros en los campos de parámetros provistos. No necesitarás la sección Additional Parameters (Parámetros adicionales) cuando utilices una plantilla de Google.
- Haz clic en Run Job (Ejecutar trabajo).


Plantillas personalizadas
Usa este comando para ejecutar una plantilla personalizada:
- Ve a la página de Dataflow en Cloud Console. Ir a la página de Dataflow
- Haz clic en CREATE JOB FROM TEMPLATE (Crear un trabajo a partir de una plantilla).
- Selecciona Custom Template (Plantilla personalizada) en el menú desplegable Dataflow template (Plantilla de Dataflow).
- Ingresa un nombre para el trabajo en el campo Nombre del trabajo.
- Ingresa la ruta de tu archivo de plantilla de Cloud Storage en el campo de la ruta de la plantilla de Cloud Storage.
- Si tu plantilla requiere de parámetros, haz clic en addAGREGAR PARÁMETRO (ADD PARAMETER) en la sección Parámetros adicionales (Additional parameters). Ingresa el Nombre (Name) y el Valor (Valor) del parámetro. Repite este paso para cada parámetro que necesites.
- Haz clic en Run Job (Ejecutar trabajo).


Uso de la API de REST
Para ejecutar una plantilla con una solicitud a la API de REST, envía una solicitud HTTP POST con tu ID del proyecto. Esta solicitud requiere autorización.
Consulta la referencia de la API de REST de projects.templates.launch para obtener más información sobre los parámetros disponibles.
Ejemplo 1: Crea un trabajo por lotes de una plantilla personalizada
Esta solicitud projects.templates.launch de ejemplo crea un trabajo en lotes a partir de una plantilla que lee un archivo de texto y escribe un archivo de texto de salida. Si la solicitud se ejecuta de manera correcta, el cuerpo de la respuesta contendrá una instancia de LaunchTemplateResponse.
Debes modificar los siguientes valores:
- Reemplaza
YOUR_PROJECT_ID
por el ID del proyecto. - Reemplaza
JOB_NAME
por un nombre de trabajo a elección. - Reemplaza
YOUR_BUCKET_NAME
por el nombre de tu depósito de Cloud Storage. - Establece
gcsPath
en la ubicación de Cloud Storage del archivo de plantilla. - Establece
parameters
en la lista de pares clave-valor. - Configura
tempLocation
en una ubicación para la que tengas permiso de escritura. Este valor es obligatorio para ejecutar plantillas de Google.
POST https://dataflow.googleapis.com/v1b3/projects/YOUR_PROJECT_ID/templates:launch?gcsPath=gs://YOUR_BUCKET_NAME/templates/TemplateName { "jobName": "JOB_NAME", "parameters": { "inputFile" : "gs://YOUR_BUCKET_NAME/input/my_input.txt", "outputFile": "gs://YOUR_BUCKET_NAME/output/my_output" }, "environment": { "tempLocation": "gs://YOUR_BUCKET_NAME/temp", "zone": "us-central1-f" } }
Ejemplo 2: Crea un trabajo de transmisión de una plantilla personalizada
Mediante la solicitud de ejemplo projects.templates.launch, se crea un trabajo de transmisión a partir de una plantilla que lee desde un tema de Pub/Sub y escribe en una tabla de BigQuery. La tabla de BigQuery debe existir con anterioridad, con el esquema adecuado. Si se ejecuta de manera correcta, el cuerpo de la respuesta contendrá una instancia de LaunchTemplateResponse.
Debes modificar los siguientes valores:
- Reemplaza
YOUR_PROJECT_ID
por el ID del proyecto. - Reemplaza
JOB_NAME
por un nombre de trabajo a elección. - Reemplaza
YOUR_BUCKET_NAME
por el nombre del depósito de Cloud Storage. - Reemplaza
YOUR_TOPIC_NAME
por el nombre del tema de Pub/Sub. - Reemplaza
YOUR_DATASET
por el conjunto de datos de BigQuery yYOUR_TABLE_NAME
por el nombre de la tabla de BigQuery. - Establece
gcsPath
en la ubicación de Cloud Storage del archivo de plantilla. - Establece
parameters
en la lista de pares clave-valor. - Configura
tempLocation
en una ubicación para la que tengas permiso de escritura. Este valor es obligatorio para ejecutar plantillas de Google.
POST https://dataflow.googleapis.com/v1b3/projects/YOUR_PROJECT_ID/templates:launch?gcsPath=gs://YOUR_BUCKET_NAME/templates/TemplateName { "jobName": "JOB_NAME", "parameters": { "topic": "projects/YOUR_PROJECT_ID/topics/YOUR_TOPIC_NAME", "table": "YOUR_PROJECT_ID:YOUR_DATASET.YOUR_TABLE_NAME" }, "environment": { "tempLocation": "gs://YOUR_BUCKET_NAME/temp", "zone": "us-central1-f" } }
Ejemplo 3: Actualiza un trabajo de transmisión de una plantilla personalizada
En esta solicitud de ejemplo projects.templates.launch, se muestra cómo actualizar un trabajo de transmisión de plantilla.
- Ejecuta Ejemplo 2: Crea un trabajo de transmisión de una plantilla personalizada para iniciar un trabajo de plantilla de transmisión.
- Envía la siguiente solicitud HTTP POST, con los siguientes valores modificados:
- Reemplaza
YOUR_PROJECT_ID
por el ID del proyecto. - Reemplaza
JOB_NAME
por un nombre de trabajo a elección. - Reemplaza
YOUR_BUCKET_NAME
por el nombre del depósito de Cloud Storage. - Reemplaza
YOUR_TOPIC_NAME
por el nombre del tema de Pub/Sub. - Reemplaza
YOUR_DATASET
por el conjunto de datos de BigQuery yYOUR_TABLE_NAME
por el nombre de la tabla de BigQuery. - Establece
gcsPath
en la ubicación de Cloud Storage del archivo de plantilla. - Establece
parameters
en la lista de pares clave-valor. - Configura
tempLocation
en una ubicación para la que tengas permiso de escritura. Este valor es obligatorio para ejecutar plantillas de Google.
POST https://dataflow.googleapis.com/v1b3/projects/YOUR_PROJECT_ID/templates:launch?gcsPath=gs://YOUR_BUCKET_NAME/templates/TemplateName { "jobName": "JOB_NAME", "parameters": { "topic": "projects/YOUR_PROJECT_ID/topics/YOUR_TOPIC_NAME", "table": "YOUR_PROJECT_ID:YOUR_DATASET.YOUR_TABLE_NAME" }, "environment": { "tempLocation": "gs://YOUR_BUCKET_NAME/temp", "zone": "us-central1-f" } "update": true }
- Reemplaza
- Accede a la interfaz de supervisión de Dataflow y verifica que se haya creado un trabajo nuevo con el mismo nombre. Este trabajo tiene el estado Actualizado.
Usa bibliotecas cliente de la API de Google
Considera usar las bibliotecas cliente de la API de Google para realizar llamadas a la API de REST de Dataflow con facilidad. En esta secuencia de comandos de ejemplo, se usa la biblioteca cliente de la API de Google para Python.
En este ejemplo, debes establecer las siguientes variables:
project
: Establece el ID del proyecto.job
: se establece en el nombre de trabajo único que elijas.template
: se establece en la ubicación de Cloud Storage del archivo de plantilla.parameters
: Establece un diccionario con los parámetros de la plantilla.
Para obtener más información sobre las opciones disponibles, consulta el método projects.templates.launch
en la referencia de la API de REST de Cloud Dataflow.
Usa gcloud
Nota: Para usar la herramienta de línea de comandos de gcloud
a fin de ejecutar plantillas, debes tener la versión 138.0.0 o posterior del SDK de Cloud.
La herramienta de línea de comandos de gcloud
puede ejecutar una plantilla personalizada o una proporcionada por Google con el comando gcloud dataflow jobs run
. Los ejemplos de ejecución de plantillas proporcionadas por Google se documentan en la página de plantillas proporcionadas por Google.
En los ejemplos siguientes de plantillas personalizadas, configura estos valores:
- Reemplaza
JOB_NAME
por un nombre de trabajo a elección. - Reemplaza
YOUR_BUCKET_NAME
por el nombre del depósito de Cloud Storage. - Debes incluir la marca
--gcs-location
. Establece--gcs-location
en la ubicación de Cloud Storage del archivo de plantilla. - Establece
--parameters
en la lista de parámetros separados por comas para pasar al trabajo. No se admiten espacios entre las comas o los valores.
Ejemplo 1: Plantilla personalizada, trabajo en lotes
En este ejemplo, se crea un trabajo en lotes a partir de una plantilla que lee un archivo de texto y escribe un archivo de texto de salida.
gcloud dataflow jobs run JOB_NAME \ --gcs-location gs://YOUR_BUCKET_NAME/templates/MyTemplate \ --parameters inputFile=gs://YOUR_BUCKET_NAME/input/my_input.txt,outputFile=gs://YOUR_BUCKET_NAME/output/my_output
La solicitud muestra una respuesta con el siguiente formato.
id: 2016-10-11_17_10_59-1234530157620696789 projectId: YOUR_PROJECT_ID type: JOB_TYPE_BATCH
Ejemplo 2: Plantilla personalizada, trabajo de transmisión
En este ejemplo, se crea un trabajo de transmisión a partir de una plantilla que lee desde un tema de Pub/Sub y escribe en una tabla de BigQuery. La tabla de BigQuery debe existir con anterioridad, con el esquema adecuado.
gcloud dataflow jobs run JOB_NAME \ --gcs-location gs://YOUR_BUCKET_NAME/templates/MyTemplate \ --parameters topic=projects/project-identifier/topics/resource-name,table=my_project:my_dataset.my_table_name
La solicitud muestra una respuesta con el siguiente formato.
id: 2016-10-11_17_10_59-1234530157620696789 projectId: YOUR_PROJECT_ID type: JOB_TYPE_STREAMING
A fin de obtener una lista completa de las marcas para el comando gcloud dataflow jobs run
, consulta la referencia de la herramienta de gcloud.
Supervisión y solución de problemas
La interfaz de supervisión de Dataflow te permite supervisar tus trabajos de Dataflow. Si un trabajo presenta errores, puedes encontrar sugerencias para solucionarlos, estrategias de depuración y un catálogo de errores comunes en la guía Soluciona problemas de tu canalización.