Ver trabajos y tareas

En este documento, se explica cómo ver los trabajos y las tareas de Batch.

Antes de comenzar

Ver tus trabajos

Para ver tus trabajos, selecciona uno de los siguientes métodos:

Consulta una lista de tus trabajos.

Puedes ver una lista de los trabajos del proyecto actual con el comando La consola de Google Cloud, gcloud CLI, API de Batch, Go, Java, Node.js, Python o C++.

Console

  1. Para ver una lista de trabajos en el proyecto actual con el comando La consola de Google Cloud, ve a la página Lista de trabajos.

    Ir a Lista de trabajos

    La lista de trabajos puede estar compuesta por varias páginas. Si necesitas continuar a la siguiente página, haz clic Siguiente en la parte inferior de la pantalla.

  2. Opcional: Si deseas filtrar la lista de trabajos, haz clic en Filtro: Luego, o seleccionar una propiedad y un valor.

    Por ejemplo, para filtrar la lista para que solo se incluyan los trabajos Ingresa lo siguiente:

    Status:JOB_STATE
    

    Reemplaza JOB_STATE por un estado del trabajo para ejemplo, FAILED.

gcloud

Ver todos los trabajos

Para ver una lista de trabajos en el proyecto actual con el comando gcloud CLI, usa el Comando gcloud batch jobs list

gcloud batch jobs list

Consulta una lista filtrada de trabajos.

De manera opcional, puedes agregar una o más marcas para ver una lista filtrada de trabajos:

  • Para ver solo los trabajos en una ubicación específica, incluye la marca --location.

  • Para ver solo los trabajos basados en una expresión de filtro, especifica la --filter.

Por ejemplo, usa el siguiente comando:

gcloud batch jobs list \
    --location=LOCATION \
    --filter="FILTER_EXPRESSION"

Reemplaza lo siguiente:

  • LOCATION: Es la ubicación en la que existen uno o más trabajos.

  • FILTER_EXPRESSION: un expresión de filtro que define los trabajos que quieres enumerar. La expresión de filtro debe definir uno o más pares propiedad-valor separados por cero o más operadores booleanos (AND, OR y NOT).

    Por ejemplo, consulta las siguientes expresiones de filtro:

    • Filtrar según el estado del trabajo: para ver solo los trabajos que se encuentran en estado específico, usa la siguiente expresión de filtro:

      status.state="JOB_STATE"
      

      Reemplaza JOB_STATE por un estado del trabajo para ejemplo, FAILED.

    • Filtro basado en etiquetas: Supongamos que en tu proyecto se definió lo siguiente etiquetas:

      • Para indicar los trabajos y sus recursos que se crean a partir de la investigación cuando ves informes de Facturación de Cloud, algunos de tus trabajos y sus recursos tienen una etiqueta team establecida en research.

      • Para indicar cargas de trabajo urgentes, algunos trabajos tienen un deadline que está configurada con varios valores.

      • Indicar ejecutables que tu equipo de desarrollo ha tenido con éxito , algunos ejecutables tienen una etiqueta tested configurada como true.

      Luego, puedes especificar la siguiente expresión de filtro:

      (allocationPolicy.labels.team=research) AND ((labels.deadline:*) OR (runnables.labels.tested=true))
      

      Esta expresión de filtro solo muestra una lista de los trabajos que cumplen con los siguientes criterios:

      • Trabajos que son del equipo de investigación y que tienen una etiqueta team en la la política de asignación del trabajo que se establece en research.

      • Trabajos que cumplen al menos uno de los siguientes criterios:

        • Los trabajos con plazos definidos que tienen una etiqueta deadline en la que esté configurado con cualquier valor.

        • Trabajos que tienen al menos un ejecutable pruebas, que son trabajos que tienen al menos un ejecutable Etiqueta tested que se estableció como true.

API

Ver todos los trabajos

Para ver una lista de trabajos del proyecto actual en una ubicación específica, utiliza el la API de Batch, realiza una solicitud GET al Método jobs.list.

GET https://batch.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/jobs

Reemplaza lo siguiente:

Consulta una lista filtrada de trabajos.

También puedes especificar el parámetro de consulta filter para ver un informe filtrado una lista de trabajos basada en una expresión de filtro.

Por ejemplo, realiza la siguiente solicitud GET:

GET https://batch.googleapis.com/v1/projects/example-project/locations/us-central1/jobs?filter=FILTER_EXPRESSION

Reemplaza FILTER_EXPRESSION por un expresión de filtro que utilice codificación de URL. La expresión de filtro debe definir uno o más pares propiedad-valor que se separadas por cero o más operadores booleanos (AND, OR y NOT).

Por ejemplo, consulta las siguientes expresiones de filtro:

  • Filtrar según el estado del trabajo: para ver solo los trabajos que se encuentran en estado específico, usa la siguiente expresión de filtro:

    status.state="JOB_STATE"
    

    Reemplaza JOB_STATE por un estado del trabajo para ejemplo, FAILED.

  • Filtro basado en etiquetas: Supongamos que en tu proyecto se definió lo siguiente etiquetas:

    • Para indicar los trabajos y sus recursos que se crean a partir de la investigación cuando ves informes de Facturación de Cloud, algunos de tus trabajos y sus recursos tienen una etiqueta team establecida en research.

    • Para indicar cargas de trabajo urgentes, algunos trabajos tienen un deadline que está configurada con varios valores.

    • Indicar ejecutables que tu equipo de desarrollo ha tenido con éxito , algunos ejecutables tienen una etiqueta tested configurada como true.

    Luego, puedes especificar la siguiente expresión de filtro:

    (allocationPolicy.labels.team%3Dresearch)%20AND%20((labels.deadline%3A*)%20OR%20(runnables.labels.tested%3Dtrue))
    

    Esta expresión de filtro solo muestra una lista de los trabajos que cumplen con los siguientes criterios:

    • Trabajos que son del equipo de investigación y que tienen una etiqueta team en la la política de asignación del trabajo que se establece en research.

    • Trabajos que cumplen al menos uno de los siguientes criterios:

      • Los trabajos con plazos definidos que tienen una etiqueta deadline en la que esté configurado con cualquier valor.

      • Trabajos que tienen al menos un ejecutable pruebas, que son trabajos que tienen al menos un ejecutable Etiqueta tested que se estableció como true.

Go

Go

Para obtener más información, consulta la API de Go por lotes documentación de referencia.

Para autenticarte en Batch, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.

import (
	"context"
	"fmt"
	"io"

	batch "cloud.google.com/go/batch/apiv1"
	"cloud.google.com/go/batch/apiv1/batchpb"
	"google.golang.org/api/iterator"
)

// Lists all jobs in the given project and region
func listJobs(w io.Writer, projectID, region string) error {
	// projectID := "your_project_id"
	// region := "us-central1"

	ctx := context.Background()
	batchClient, err := batch.NewClient(ctx)
	if err != nil {
		return fmt.Errorf("NewClient: %w", err)
	}
	defer batchClient.Close()

	req := &batchpb.ListJobsRequest{
		Parent: fmt.Sprintf("projects/%s/locations/%s", projectID, region),
	}

	var jobs []*batchpb.Job
	it := batchClient.ListJobs(ctx, req)

	for {
		job, err := it.Next()
		if err == iterator.Done {
			break
		}
		if err != nil {
			return fmt.Errorf("unable to list jobs: %w", err)
		}
		jobs = append(jobs, job)
	}

	fmt.Fprintf(w, "Jobs: %v\n", jobs)

	return nil
}

Java

Java

Para obtener más información, consulta la API de Java por lotes documentación de referencia.

Para autenticarte en Batch, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.

import com.google.cloud.batch.v1.BatchServiceClient;
import com.google.cloud.batch.v1.Job;
import java.io.IOException;

public class ListJobs {

  public static void main(String[] args) throws IOException {
    // TODO(developer): Replace these variables before running the sample.
    // Project ID or project number of the Cloud project you want to use.
    String projectId = "YOUR_PROJECT_ID";

    // Name of the region hosting the jobs.
    String region = "europe-central2";

    listJobs(projectId, region);
  }

  // Get a list of all jobs defined in given region.
  public static void listJobs(String projectId, String region) throws IOException {
    // Initialize client that will be used to send requests. This client only needs to be created
    // once, and can be reused for multiple requests. After completing all of your requests, call
    // the `batchServiceClient.close()` method on the client to safely
    // clean up any remaining background resources.
    try (BatchServiceClient batchServiceClient = BatchServiceClient.create()) {

      // Construct the parent path of the job.
      String parent = String.format("projects/%s/locations/%s", projectId, region);

      for (Job job : batchServiceClient.listJobs(parent).iterateAll()) {
        System.out.println(job.getName());
      }
      System.out.println("Listed all batch jobs.");
    }
  }
}

Node.js

Node.js

Para obtener más información, consulta la API de Node.js por lotes documentación de referencia.

Para autenticarte en Batch, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.

/**
 * TODO(developer): Uncomment and replace these variables before running the sample.
 */
// const projectId = 'YOUR_PROJECT_ID';
/**
 * The region that hosts the job.
 */
// const region = 'us-central-1';

// Imports the Batch library
const batchLib = require('@google-cloud/batch');

// Instantiates a client
const batchClient = new batchLib.v1.BatchServiceClient();

async function callListJobs() {
  // Construct request
  const request = {
    parent: `projects/${projectId}/locations/${region}`,
  };

  // Run request
  const iterable = await batchClient.listJobsAsync(request);
  for await (const response of iterable) {
    console.log(response);
  }
}

callListJobs();

Python

Python

Para obtener más información, consulta la API de Python por lotes documentación de referencia.

Para autenticarte en Batch, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.

from __future__ import annotations

from collections.abc import Iterable

from google.cloud import batch_v1


def list_jobs(project_id: str, region: str) -> Iterable[batch_v1.Job]:
    """
    Get a list of all jobs defined in given region.

    Args:
        project_id: project ID or project number of the Cloud project you want to use.
        region: name of the region hosting the jobs.

    Returns:
        An iterable collection of Job object.
    """
    client = batch_v1.BatchServiceClient()

    return client.list_jobs(parent=f"projects/{project_id}/locations/{region}")

C++

C++

Para obtener más información, consulta la API de C++ por lotes documentación de referencia.

Para autenticarte en Batch, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.

#include "google/cloud/batch/v1/batch_client.h"

  [](std::string const& project_id, std::string const& location_id) {
    auto const parent = "projects/" + project_id + "/locations/" + location_id;
    // Initialize a client and issue the request.
    auto client = google::cloud::batch_v1::BatchServiceClient(
        google::cloud::batch_v1::MakeBatchServiceConnection());
    int i = 0;
    for (auto job : client.ListJobs(parent)) {
      if (!job) throw std::move(job).status();
      std::cout << "Job[" << i++ << "]  " << job->DebugString() << "\n";
    }
  }

Consulta los detalles de un trabajo

Puedes ver los detalles de un trabajo en el proyecto actual con el La consola de Google Cloud, gcloud CLI, API de Batch, Go, Java, Node.js, Python o C++.

Console

Para ver los detalles de un trabajo en el proyecto actual con el la consola de Google Cloud, sigue estos pasos:

  1. En la consola de Google Cloud, ve a la página Lista de trabajos.

    Ir a Lista de trabajos

  2. En la columna Nombre del trabajo, haz clic en el nombre de un trabajo.

    Se abrirá la página Detalles del trabajo.

    La pestaña Detalles se abre de forma predeterminada. Para obtener más información, haz clic otras pestañas.

gcloud

Para ver los detalles de un trabajo en el proyecto actual con el gcloud CLI, usa el Comando gcloud batch jobs describe con la marca --location.

gcloud batch jobs describe JOB_NAME \
    --location=LOCATION

Reemplaza lo siguiente:

  • JOB_NAME: Es el nombre de un trabajo existente.

  • LOCATION: Es la ubicación. dónde existe el trabajo.

API

Para ver los detalles de un trabajo en el proyecto actual con el API de Batch, realiza una solicitud GET al Método jobs.get.

GET https://batch.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/jobs/JOB_NAME

Reemplaza lo siguiente:

  • PROJECT_ID: el ID del proyecto del proyecto actual.

  • LOCATION: Es la ubicación. dónde existe el trabajo.

  • JOB_NAME: Es el nombre de un trabajo existente.

Go

Go

Para obtener más información, consulta la API de Go por lotes documentación de referencia.

Para autenticarte en Batch, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.

import (
	"context"
	"fmt"
	"io"

	batch "cloud.google.com/go/batch/apiv1"
	"cloud.google.com/go/batch/apiv1/batchpb"
)

// Retrieves the information about the specified job, most importantly its status
func getJob(w io.Writer, projectID, region, jobName string) (*batchpb.Job, error) {
	// projectID := "your_project_id"
	// region := "us-central1"
	// jobName := "some-job"

	ctx := context.Background()
	batchClient, err := batch.NewClient(ctx)
	if err != nil {
		return nil, fmt.Errorf("NewClient: %w", err)
	}
	defer batchClient.Close()

	req := &batchpb.GetJobRequest{
		Name: fmt.Sprintf("projects/%s/locations/%s/jobs/%s", projectID, region, jobName),
	}

	response, err := batchClient.GetJob(ctx, req)
	if err != nil {
		return nil, fmt.Errorf("unable to get job: %w", err)
	}

	fmt.Fprintf(w, "Job info: %v\n", response)

	return response, nil
}

Java

Java

Para obtener más información, consulta la API de Java por lotes documentación de referencia.

Para autenticarte en Batch, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.

import com.google.cloud.batch.v1.BatchServiceClient;
import com.google.cloud.batch.v1.Job;
import com.google.cloud.batch.v1.JobName;
import java.io.IOException;

public class GetJob {

  public static void main(String[] args) throws IOException {
    // TODO(developer): Replace these variables before running the sample.
    // Project ID or project number of the Cloud project you want to use.
    String projectId = "YOUR_PROJECT_ID";

    // Name of the region hosts the job.
    String region = "europe-central2";

    // The name of the job you want to retrieve information about.
    String jobName = "JOB_NAME";

    getJob(projectId, region, jobName);
  }

  // Retrieve information about a Batch Job.
  public static void getJob(String projectId, String region, String jobName) throws IOException {
    // Initialize client that will be used to send requests. This client only needs to be created
    // once, and can be reused for multiple requests. After completing all of your requests, call
    // the `batchServiceClient.close()` method on the client to safely
    // clean up any remaining background resources.
    try (BatchServiceClient batchServiceClient = BatchServiceClient.create()) {

      Job job =
          batchServiceClient.getJob(
              JobName.newBuilder()
                  .setProject(projectId)
                  .setLocation(region)
                  .setJob(jobName)
                  .build());

      System.out.printf("Retrieved the job: %s ", job.getName());
    }
  }
}

Node.js

Node.js

Para obtener más información, consulta la API de Node.js por lotes documentación de referencia.

Para autenticarte en Batch, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.

/**
 * TODO(developer): Uncomment and replace these variables before running the sample.
 */
// const projectId = 'YOUR_PROJECT_ID';
/**
 * The region that hosts the job.
 */
// const region = 'us-central-1';
/**
 * The name of the job you want to retrieve information about.
 */
// const jobName = 'YOUR_JOB_NAME';

// Imports the Batch library
const batchLib = require('@google-cloud/batch');

// Instantiates a client
const batchClient = new batchLib.v1.BatchServiceClient();

async function callGetJob() {
  // Construct request
  const request = {
    name: `projects/${projectId}/locations/${region}/jobs/${jobName}`,
  };

  // Run request
  const response = await batchClient.getJob(request);
  console.log(response);
}

callGetJob();

Python

Python

Para obtener más información, consulta la API de Python por lotes documentación de referencia.

Para autenticarte en Batch, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.


from google.cloud import batch_v1


def get_job(project_id: str, region: str, job_name: str) -> batch_v1.Job:
    """
    Retrieve information about a Batch Job.

    Args:
        project_id: project ID or project number of the Cloud project you want to use.
        region: name of the region hosts the job.
        job_name: the name of the job you want to retrieve information about.

    Returns:
        A Job object representing the specified job.
    """
    client = batch_v1.BatchServiceClient()

    return client.get_job(
        name=f"projects/{project_id}/locations/{region}/jobs/{job_name}"
    )

C++

C++

Para obtener más información, consulta la API de C++ por lotes documentación de referencia.

Para autenticarte en Batch, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.

#include "google/cloud/batch/v1/batch_client.h"

  [](std::string const& project_id, std::string const& location_id,
     std::string const& job_id) {
    auto const name = "projects/" + project_id + "/locations/" + location_id +
                      "/jobs/" + job_id;
    // Initialize a client and issue the request.
    auto client = google::cloud::batch_v1::BatchServiceClient(
        google::cloud::batch_v1::MakeBatchServiceConnection());
    auto response = client.GetJob(name);
    if (!response) throw std::move(response).status();
    std::cout << "GetJob() succeeded with " << response->DebugString() << "\n";
  }

Ve las tareas

Para ver las tareas de uno de tus trabajos, selecciona uno de los siguientes métodos:

Consulta una lista de las tareas de un trabajo

Puedes ver una lista de las tareas de un trabajo o del grupo de tareas de un trabajo con el La consola de Google Cloud, gcloud CLI, API de Batch, Go, Java, Node.js, Python o C++.

Si deseas filtrar una lista de tareas en un trabajo o un grupo de tareas de un trabajo, ejemplo, para enumerar solo las tareas que se completaron correctamente en ejecución, debes usar gcloud CLI o Batch en la API de Cloud.

Console

Para ver un resumen de las tareas de un trabajo con el Consola de Google Cloud, consulta los detalles de un trabajo para Abre la página Detalles del trabajo. Luego, consulta la sección Detalles de la tarea.

gcloud

Para ver una lista de las tareas incluidas en el grupo de tareas de un trabajo, sigue estos pasos: gcloud CLI, usa el Comando gcloud batch tasks list con las siguientes marcas:

gcloud batch tasks list \
    --job=JOB_NAME \
    --location=LOCATION

Reemplaza lo siguiente:

  • JOB_NAME: Es el nombre de un trabajo existente.

  • LOCATION: Es la ubicación en la que de que el trabajo exista.

De manera opcional, puedes agregar la marca --filter para ver una lista filtrada de tareas. en el grupo de tareas de un trabajo según una expresión de filtro.

Por ejemplo, usa el siguiente comando:

gcloud batch tasks list \
    --job=example-job \
    --location=us-central1 \
    --filter="FILTER_EXPRESSION"

Reemplaza FILTER_EXPRESSION por un expresión de filtro.

Por ejemplo, puedes especificar la siguiente expresión de filtro para solo ver las tareas del grupo de tareas de un trabajo que se están ejecutando o que tienen terminó de ejecutarse correctamente:

STATE=RUNNING OR STATE=SUCCEEDED

API

Para ver una lista de las tareas incluidas en el grupo de tareas de un trabajo, sigue estos pasos: API de Batch, realiza una solicitud GET al Método tasks.list:

GET https://batch.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/jobs/JOB_NAME/taskGroups/TASK_GROUP_NAME/tasks

Reemplaza lo siguiente:

  • PROJECT_ID: el ID del proyecto del proyecto actual.

  • LOCATION: Es la ubicación. dónde existe el trabajo.

  • JOB_NAME: Es el nombre de un trabajo existente.

  • TASK_GROUP_NAME: Es el nombre del grupo de tareas que de los que deseas ver los detalles. El valor se debe establecer en group0

También puedes especificar el parámetro de consulta filter para ver un informe filtrado Lista de tareas en el grupo de tareas de un trabajo según una expresión de filtro.

Por ejemplo, realiza la siguiente solicitud GET:

GET https://batch.googleapis.com/v1/projects/example-project/locations/us-central1/jobs/example-job/taskGroups/group0/tasks?filter=FILTER_EXPRESSION

Reemplaza FILTER_EXPRESSION por un expresión de filtro que usa Codificación de URL.

Por ejemplo, puedes especificar la siguiente expresión de filtro para solo ver las tareas del grupo de tareas de un trabajo que se están ejecutando o que tienen terminó de ejecutarse correctamente:

STATE=RUNNING%20OR%20STATE=SUCCEEDED

Ten en cuenta que la expresión de filtro codificada para URL representa los siguientes elementos expresión de filtro:

STATE=RUNNING OR STATE=SUCCEEDED

Go

Go

Para obtener más información, consulta la API de Go por lotes documentación de referencia.

Para autenticarte en Batch, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.

import (
	"context"
	"fmt"
	"io"

	batch "cloud.google.com/go/batch/apiv1"
	"cloud.google.com/go/batch/apiv1/batchpb"
	"google.golang.org/api/iterator"
)

// Lists all tasks in the given project and region
func listTasks(w io.Writer, projectID, region, jobName, taskGroup string) error {
	// projectID := "your_project_id"
	// region := "us-central1"
	// jobName := "some-job"
	// taskGroup := "group0" // defaults to "group0" on job creation unless overridden

	ctx := context.Background()
	batchClient, err := batch.NewClient(ctx)
	if err != nil {
		return fmt.Errorf("NewClient: %w", err)
	}
	defer batchClient.Close()

	req := &batchpb.ListTasksRequest{
		Parent: fmt.Sprintf("projects/%s/locations/%s/jobs/%s/taskGroups/%s", projectID, region, jobName, taskGroup),
	}

	var tasks []*batchpb.Task
	it := batchClient.ListTasks(ctx, req)

	for {
		task, err := it.Next()
		if err == iterator.Done {
			break
		}
		if err != nil {
			return fmt.Errorf("unable to list tasks: %w", err)
		}
		tasks = append(tasks, task)
	}

	fmt.Fprintf(w, "Tasks: %v\n", tasks)

	return nil
}

Java

Java

Para obtener más información, consulta la API de Java por lotes documentación de referencia.

Para autenticarte en Batch, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.

import com.google.cloud.batch.v1.BatchServiceClient;
import com.google.cloud.batch.v1.Task;
import java.io.IOException;

public class ListTasks {

  public static void main(String[] args) throws IOException {
    // TODO(developer): Replace these variables before running the sample.
    // Project ID or project number of the Cloud project you want to use.
    String projectId = "YOUR_PROJECT_ID";
    // Name of the region hosts the job.
    String region = "europe-central2";
    // Name of the job which tasks you want to list.
    String jobName = "JOB_NAME";
    // Name of the group of tasks. Usually it's `group0`.
    String groupName = "group0";

    listTasks(projectId, region, jobName, groupName);
  }

  // Get a list of all jobs defined in given region.
  public static void listTasks(String projectId, String region, String jobName, String groupName)
      throws IOException {
    // Initialize client that will be used to send requests. This client only needs to be created
    // once, and can be reused for multiple requests. After completing all of your requests, call
    // the `batchServiceClient.close()` method on the client to safely
    // clean up any remaining background resources.
    try (BatchServiceClient batchServiceClient = BatchServiceClient.create()) {

      String parent = String.format("projects/%s/locations/%s/jobs/%s/taskGroups/%s", projectId,
          region, jobName, groupName);
      for (Task task : batchServiceClient.listTasks(parent).iterateAll()) {
        System.out.println(task.getName());
      }
    }
  }
}

Node.js

Node.js

Para obtener más información, consulta la API de Node.js por lotes documentación de referencia.

Para autenticarte en Batch, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.

/**
 * TODO(developer): Uncomment and replace these variables before running the sample.
 */
// const projectId = 'YOUR_PROJECT_ID';
/**
 * The region that hosts the job.
 */
// const region = 'us-central-1';
/**
 * The name of the job which tasks you want to list.
 */
// const jobName = 'YOUR_JOB_NAME';
/**
 * The name of the group of tasks. Usually it's `group0`.
 */
// const groupName = 'group0';

// Imports the Batch library
const batchLib = require('@google-cloud/batch');

// Instantiates a client
const batchClient = new batchLib.v1.BatchServiceClient();

async function callListTasks() {
  // Construct request
  const request = {
    parent: `projects/${projectId}/locations/${region}/jobs/${jobName}/taskGroups/${groupName}`,
  };

  // Run request
  const iterable = await batchClient.listTasksAsync(request);
  for await (const response of iterable) {
    console.log(response);
  }
}

callListTasks();

Python

Python

Para obtener más información, consulta la API de Python por lotes documentación de referencia.

Para autenticarte en Batch, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.

from __future__ import annotations

from collections.abc import Iterable

from google.cloud import batch_v1


def list_tasks(
    project_id: str, region: str, job_name: str, group_name: str
) -> Iterable[batch_v1.Task]:
    """
    Get a list of all jobs defined in given region.

    Args:
        project_id: project ID or project number of the Cloud project you want to use.
        region: name of the region hosting the jobs.
        job_name: name of the job which tasks you want to list.
        group_name: name of the group of tasks. Usually it's `group0`.

    Returns:
        An iterable collection of Task objects.
    """
    client = batch_v1.BatchServiceClient()

    return client.list_tasks(
        parent=f"projects/{project_id}/locations/{region}/jobs/{job_name}/taskGroups/{group_name}"
    )

C++

C++

Para obtener más información, consulta la API de C++ por lotes documentación de referencia.

Para autenticarte en Batch, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.

#include "google/cloud/batch/v1/batch_client.h"

  [](std::string const& project_id, std::string const& location_id,
     std::string const& job_id, std::string const& group_id) {
    auto const parent = "projects/" + project_id + "/locations/" + location_id +
                        "/jobs/" + job_id + "/taskGroups/" + group_id;
    // Initialize a client and issue the request.
    auto client = google::cloud::batch_v1::BatchServiceClient(
        google::cloud::batch_v1::MakeBatchServiceConnection());
    int i = 0;
    for (auto task : client.ListTasks(parent)) {
      if (!task) throw std::move(task).status();
      std::cout << "Task[" << i++ << "]  " << task->DebugString() << "\n";
    }
  }

Cómo ver los detalles de una tarea

Puedes ver los detalles de una tarea con el La consola de Google Cloud, gcloud CLI, API de Batch, Go, Java, Node.js, Python o C++.

Console

Para ver los detalles de una tarea usando el Consola de Google Cloud, consulta los detalles de un trabajo para Abre la página Detalles del trabajo. Luego, consulta la sección Detalles de la tarea.

gcloud

Para ver los detalles de una tarea con gcloud CLI, usa la Comando gcloud batch tasks describe con las siguientes marcas:

gcloud batch tasks describe TASK_INDEX \
  --location=LOCATION \
  --job=JOB_NAME \
  --task_group=TASK_GROUP_NAME

Reemplaza lo siguiente:

  • TASK_INDEX: El índice de la tarea que deseas ver los detalles. En un grupo de tareas, el índice de tareas comienza en 0 para la primera tarea y aumenta en 1 con cada tarea adicional. Por ejemplo, una tarea que contiene cuatro tareas tiene los índices 0, 1, 2 y 3.

  • TASK_GROUP_NAME: Es el nombre del grupo de tareas que contiene la tarea de la que deseas ver los detalles. El valor debe ser Se establece en group0.

  • JOB_NAME: Es el nombre de un trabajo existente.

  • LOCATION: Es la ubicación en la que de que el trabajo exista.

API

Para ver los detalles de una tarea con la API de Batch, crea una GET al Método tasks.get:

GET https://batch.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/jobs/JOB_NAME/taskGroups/TASK_GROUP_NAME/tasks/TASK_INDEX

Reemplaza lo siguiente:

  • PROJECT_ID: el ID del proyecto del proyecto actual.

  • LOCATION: Es la ubicación. dónde existe el trabajo.

  • JOB_NAME: Es el nombre de un trabajo existente.

  • TASK_GROUP_NAME: Es el nombre del grupo de tareas que contiene la tarea de la que deseas ver los detalles. El valor debe ser Se establece en group0.

  • TASK_INDEX: El índice de la tarea que deseas para ver los detalles. En un grupo de tareas, el índice de la tarea comienza en 0 para la primera tarea y aumenta en 1 con cada tarea adicional. Por ejemplo: un grupo de tareas que contiene cuatro tareas tiene los índices 0, 1, 2, y 3

Go

Go

Para obtener más información, consulta la API de Go por lotes documentación de referencia.

Para autenticarte en Batch, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.

import (
	"context"
	"fmt"
	"io"

	batch "cloud.google.com/go/batch/apiv1"
	"cloud.google.com/go/batch/apiv1/batchpb"
)

// Retrieves the information about the specified job, most importantly its status
func getTask(w io.Writer, projectID, region, jobName, taskGroup string, taskNumber int32) error {
	// projectID := "your_project_id"
	// region := "us-central1"
	// jobName := "some-job"
	// taskGroup := "group0" // defaults to "group0" on job creation unless overridden
	// taskNumber := 0

	ctx := context.Background()
	batchClient, err := batch.NewClient(ctx)
	if err != nil {
		return fmt.Errorf("NewClient: %w", err)
	}
	defer batchClient.Close()

	req := &batchpb.GetTaskRequest{
		Name: fmt.Sprintf("projects/%s/locations/%s/jobs/%s/taskGroups/%s/tasks/%d",
			projectID, region, jobName, taskGroup, taskNumber),
	}

	response, err := batchClient.GetTask(ctx, req)
	if err != nil {
		return fmt.Errorf("unable to get task: %w", err)
	}

	fmt.Fprintf(w, "Task info: %v\n", response)

	return nil
}

Java

Java

Para obtener más información, consulta la API de Java por lotes documentación de referencia.

Para autenticarte en Batch, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.

import com.google.cloud.batch.v1.BatchServiceClient;
import com.google.cloud.batch.v1.Task;
import com.google.cloud.batch.v1.TaskName;
import java.io.IOException;

public class GetTask {

  public static void main(String[] args) throws IOException {
    // TODO(developer): Replace these variables before running the sample.
    // Project ID or project number of the Cloud project you want to use.
    String projectId = "YOUR_PROJECT_ID";
    // Name of the region hosts the job.
    String region = "europe-central2";
    // The name of the job you want to retrieve information about.
    String jobName = "JOB_NAME";
    // The name of the group that owns the task you want to check. Usually it's `group0`.
    String groupName = "group0";
    // Number of the task you want to look up.
    int taskNumber = 0;

    getTask(projectId, region, jobName, groupName, taskNumber);
  }

  // Retrieve information about a Task.
  public static void getTask(String projectId, String region, String jobName, String groupName,
      int taskNumber) throws IOException {
    // Initialize client that will be used to send requests. This client only needs to be created
    // once, and can be reused for multiple requests. After completing all of your requests, call
    // the `batchServiceClient.close()` method on the client to safely
    // clean up any remaining background resources.
    try (BatchServiceClient batchServiceClient = BatchServiceClient.create()) {

      Task task = batchServiceClient.getTask(TaskName.newBuilder()
          .setProject(projectId)
          .setLocation(region)
          .setJob(jobName)
          .setTaskGroup(groupName)
          .setTask(String.valueOf(taskNumber))
          .build());
      System.out.printf("Retrieved task information: %s", task.getName());
    }
  }
}

Node.js

Node.js

Para obtener más información, consulta la API de Node.js por lotes documentación de referencia.

Para autenticarte en Batch, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.

/**
 * TODO(developer): Uncomment and replace these variables before running the sample.
 */
// const projectId = 'YOUR_PROJECT_ID';
/**
 * The region that hosts the job.
 */
// const region = 'us-central-1';
/**
 * The name of the job you want to retrieve information about.
 */
// const jobName = 'YOUR_JOB_NAME';
/**
 * The name of the group that owns the task you want to check.
 * Usually it's `group0`.
 */
// const groupName = 'group0';
/**
 * The number of the task you want to look up.
 */
// const taskNumber = 0;

// Imports the Batch library
const batchLib = require('@google-cloud/batch');

// Instantiates a client
const batchClient = new batchLib.v1.BatchServiceClient();

async function callGetJob() {
  // Construct request
  const request = {
    name:
      `projects/${projectId}/locations/${region}/jobs/${jobName}` +
      `/taskGroups/${groupName}/tasks/${taskNumber}`,
  };

  // Run request
  const response = await batchClient.getTask(request);
  console.log(response);
}

callGetJob();

Python

Python

Para obtener más información, consulta la API de Python por lotes documentación de referencia.

Para autenticarte en Batch, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.


from google.cloud import batch_v1


def get_task(
    project_id: str, region: str, job_name: str, group_name: str, task_number: int
) -> batch_v1.Task:
    """
    Retrieve information about a Task.

    Args:
        project_id: project ID or project number of the Cloud project you want to use.
        region: name of the region hosts the job.
        job_name: the name of the job you want to retrieve information about.
        group_name: the name of the group that owns the task you want to check. Usually it's `group0`.
        task_number: number of the task you want to look up.

    Returns:
        A Task object representing the specified task.
    """
    client = batch_v1.BatchServiceClient()

    return client.get_task(
        name=f"projects/{project_id}/locations/{region}/jobs/{job_name}"
        f"/taskGroups/{group_name}/tasks/{task_number}"
    )

C++

C++

Para obtener más información, consulta la API de C++ por lotes documentación de referencia.

Para autenticarte en Batch, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.

#include "google/cloud/batch/v1/batch_client.h"

  [](std::string const& project_id, std::string const& location_id,
     std::string const& job_id, std::string const& group_id,
     std::string const& task_number) {
    auto const name = "projects/" + project_id + "/locations/" + location_id +
                      "/jobs/" + job_id + "/taskGroups/" + group_id +
                      "/tasks/" + task_number;
    // Initialize a client and issue the request.
    auto client = google::cloud::batch_v1::BatchServiceClient(
        google::cloud::batch_v1::MakeBatchServiceConnection());
    auto response = client.GetTask(name);
    if (!response) throw std::move(response).status();
    std::cout << "GetTask() succeeded with " << response->DebugString() << "\n";
  }

¿Qué sigue?