Visualizzare job e attività

Mantieni tutto organizzato con le raccolte Salva e classifica i contenuti in base alle tue preferenze.

In questa pagina viene descritto come visualizzare i job batch e le relative attività.

Prima di iniziare

  • Se non hai mai utilizzato Batch, consulta la sezione Iniziare a utilizzare il batch e abilita Batch completando i prerequisiti per progetti e utenti.
  • Per ottenere le autorizzazioni necessarie per visualizzare job e attività, chiedi all'amministratore di concederti il ruolo IAM Visualizzatore job batch (roles/batch.jobsViewer) o Editor job batch (roles/batch.jobsEditor) nel progetto. Per ulteriori informazioni sulla concessione dei ruoli, consulta Gestire l'accesso.

Elenca e descrivi i job

Elenca i job per visualizzare i job in un progetto. Descrivere un job per visualizzarne i dettagli di configurazione.

Elenco job

Puoi elencare i job utilizzando la console Google Cloud, l'interfaccia a riga di comando gcloud, l'API batch, Go, Java, Node.js o Python.

Console

Per elencare i job del progetto, nella console Google Cloud vai alla pagina Elenco job.

Vai all'elenco dei job

gcloud

Per elencare i job del progetto utilizzando l'interfaccia a riga di comando gcloud, utilizza il comando gcloud batch jobs list.

gcloud batch jobs list

API

Per elencare i job del progetto per una posizione specifica utilizzando l'API batch, utilizza il metodo jobs.list:

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

Sostituisci quanto segue:

Go

Go

Per ulteriori informazioni, consulta la documentazione di riferimento per le API Go in blocco.

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: %v", 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: %v", err)
		}
		jobs = append(jobs, job)
	}

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

	return nil
}

Java

Java

Per ulteriori informazioni, consulta la documentazione di riferimento per le API Java in blocco.


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

Per ulteriori informazioni, consulta la documentazione di riferimento per le API Node.js in blocco.

/**
 * 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

Per ulteriori informazioni, consulta la documentazione di riferimento per le API Python in blocco.

from typing 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}")

Descrivi un job

Puoi descrivere un job utilizzando la console Google Cloud, l'interfaccia a riga di comando gcloud, l'API Batch, Go, Java, Node.js o Python.

Console

  1. Per elencare i job del progetto, nella console Google Cloud vai alla pagina Elenco job.

    Vai all'elenco dei job

  2. Per descrivere un job, nella colonna Nome job fai clic sul nome di un job. Si apre la pagina Dettagli job.

gcloud

Per descrivere un job utilizzando l'interfaccia a riga di comando gcloud, utilizza il comando gcloud batch jobs describe.

gcloud batch jobs describe JOB_NAME --location LOCATION

Sostituisci quanto segue:

  • JOB_NAME: il nome del job.
  • LOCATION: la località del lavoro.

API

Per descrivere un job utilizzando l'API Batch, utilizza il metodo jobs.get:

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

Sostituisci quanto segue:

Go

Go

Per ulteriori informazioni, consulta la documentazione di riferimento per le API Go in blocco.

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: %v", 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: %v", err)
	}

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

	return response, nil
}

Java

Java

Per ulteriori informazioni, consulta la documentazione di riferimento per le API Java in blocco.


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

Per ulteriori informazioni, consulta la documentazione di riferimento per le API Node.js in blocco.

/**
 * 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

Per ulteriori informazioni, consulta la documentazione di riferimento per le API Python in blocco.


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

Elencare e descrivere le attività

Elenca le attività per visualizzare le attività in un job o nel relativo gruppo di attività. Descrivi un'attività per visualizzarne i dettagli di configurazione. Puoi elencare e descrivere le attività di un job utilizzando la console Google Cloud, gcloud CLI o l'API batch.

Console

Per visualizzare i dettagli dell'attività di un job utilizzando la console Google Cloud, descrivi un job per aprire la pagina Dettagli job e visualizzare la sezione Dettagli attività

gcloud

Elenca attività

Per elencare le attività del gruppo di attività di un job utilizzando l'interfaccia a riga di comando gcloud, utilizza il comando gcloud batch tasks list.

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

Sostituisci quanto segue:

  • LOCATION: la località del lavoro.
  • JOB_NAME: il nome del job.

Descrivi un'attività

Per descrivere un'attività utilizzando l'interfaccia a riga di comando gcloud, utilizza il comando gcloud batch tasks describe.

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

Sostituisci quanto segue:

  • TASK_INDEX: l'indice dell'attività che vuoi descrivere. Gli indici per l'attività in un gruppo di attività iniziano da 0 e aumentano di uno per ciascuna attività. Ad esempio, gli indici di un gruppo di attività con quattro attività sono 0, 1, 2 e 3.
  • TASK_GROUP_NAME: il nome del gruppo di attività che contiene l'attività che vuoi descrivere. Imposta questo valore su group0.
  • JOB_NAME: il nome del job.
  • LOCATION: la località del job.

API

Elenca attività

Per elencare le attività del gruppo di un job utilizzando l'API Batch, utilizzate il metodo tasks.list:

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

Sostituisci quanto segue:

  • PROJECT_ID: l'ID del progetto del tuo progetto.
  • LOCATION: la località del lavoro.
  • JOB_NAME: il nome del job.
  • TASK_GROUP_NAME: il nome del gruppo di attività che vuoi descrivere. Imposta questo valore su group0.

Descrivi un'attività

Per descrivere un'attività utilizzando l'API Batch, usa il metodo tasks.get:

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

Sostituisci quanto segue:

  • PROJECT_ID: l'ID del progetto del tuo progetto.
  • LOCATION: la località del lavoro.
  • JOB_NAME: il nome del job.
  • TASK_GROUP_NAME: il nome del gruppo di attività che contiene l'attività che vuoi descrivere. Imposta questo valore su group0.
  • TASK_INDEX: l'indice dell'attività che vuoi descrivere. Gli indici per l'attività in un gruppo di attività iniziano da 0 e aumentano di uno per ciascuna attività. Ad esempio, gli indici di un gruppo di attività con quattro attività sono 0, 1, 2 e 3.

Passaggi successivi