Aufträge und Aufgaben ansehen

In diesem Dokument wird erläutert, wie Sie Batch-Jobs und -Aufgaben aufrufen.

Hinweise

Jobs ansehen

Wählen Sie eine der folgenden Methoden aus, um Ihre Jobs aufzurufen:

Liste Ihrer Jobs aufrufen

Sie können eine Liste der Jobs im aktuellen Projekt mithilfe der Google Cloud Console, gcloud CLI, Batch API, Go Java, Node.js, Python oder C++.

Console

  1. So rufen Sie eine Liste der Jobs im aktuellen Projekt mithilfe der Methode Rufen Sie in der Google Cloud Console die Seite Jobliste auf.

    Zur Jobliste

    Die Liste der Jobs kann aus mehreren Seiten bestehen. Wenn Sie zur nächsten Seite wechseln müssen, klicken Sie auf Unten Weiter auf dem Bildschirm.

  2. Optional: Wenn Sie die Liste der Jobs filtern möchten, klicken Sie auf Filter. Gehen Sie dann so vor: Geben Sie eine Eigenschaft und einen Wert ein oder wählen Sie sie aus.

    Um die Liste beispielsweise so zu filtern, dass nur Jobs in einer bestimmten geben Sie Folgendes ein:

    Status:JOB_STATE
    

    Ersetzen Sie JOB_STATE durch einen Jobstatus – für Beispiel: FAILED.

gcloud

Alle Jobs ansehen

So rufen Sie eine Liste der Jobs im aktuellen Projekt mithilfe der Methode gcloud CLI verwenden, verwenden Sie die gcloud batch jobs list-Befehl

gcloud batch jobs list

Gefilterte Jobliste aufrufen

Optional können Sie ein oder mehrere Flags hinzufügen, um eine gefilterte Liste von Jobs aufzurufen:

  • Wenn Sie nur Jobs an einem bestimmten Standort ansehen möchten, fügen Sie das Flag --location hinzu.

  • Wenn Sie nur Jobs basierend auf einem Filterausdruck ansehen möchten, geben Sie die Methode Flag --filter.

Verwenden Sie zum Beispiel den folgenden Befehl:

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

Ersetzen Sie Folgendes:

  • LOCATION: der Standort, an dem Sie Es sind ein oder mehrere Jobs vorhanden.

  • FILTER_EXPRESSION: a Filterausdruck, der definiert, die Jobs, die Sie auflisten möchten. Im Filterausdruck muss eines definiert werden oder mehr Eigenschaft/Wert-Paare, die durch null oder mehr voneinander getrennt sind Boolesche Operatoren (AND, OR und NOT).

    Sehen Sie sich beispielsweise die folgenden Filterausdrücke an:

    • Nach Jobstatus filtern: Damit nur Jobs angezeigt werden, die sich in einem bestimmten Status verwenden, verwenden Sie den folgenden Filterausdruck:

      status.state="JOB_STATE"
      

      Ersetzen Sie JOB_STATE durch einen Jobstatus – für Beispiel: FAILED.

    • Nach Labels filtern: Angenommen, in Ihrem Projekt wurde das folgende benutzerdefinierte Labels:

      • Um Jobs und ihre Ressourcen anzugeben, die durch Ihre Forschung geschaffen wurden wenn Sie Cloud Billing-Berichte aufrufen, ihre Ressourcen haben das Label team, das auf research gesetzt ist.

      • Einige Jobs haben einen deadline, um zeitkritische Arbeitslasten anzugeben. Label, das auf verschiedene Werte festgelegt ist.

      • Um Runnables anzuzeigen, die Ihr Entwicklungsteam erfolgreich hat Einige Runnables haben das Label tested, das auf true gesetzt ist.

      Anschließend können Sie den folgenden Filterausdruck angeben:

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

      Mit diesem Filterausdruck werden nur Jobs aufgelistet, die alle folgenden Bedingungen erfüllen Kriterien:

      • Jobs, die vom Research-Team stammen und das Label team auf der Zuweisungsrichtlinie des Jobs, die auf research festgelegt ist.

      • Jobs, die mindestens eines der folgenden Kriterien erfüllen:

        • Jobs, die zeitkritisch sind und das Label deadline auf der Job, der auf einen beliebigen Wert gesetzt ist.

        • Jobs mit mindestens einem erfolgreich ausgeführten ausführbaren Job getestet, also Jobs mit mindestens einem Runnable mit einer Das Label tested, das auf true festgelegt ist.

API

Alle Jobs ansehen

So rufen Sie eine Liste der Jobs im aktuellen Projekt für einen bestimmten Standort mit der Batch API eine GET-Anfrage an die Methode jobs.list.

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

Ersetzen Sie Folgendes:

  • PROJECT_ID: die Projekt-ID Ihres aktuellen Projekts.

  • LOCATION: der Standort wo sich die Jobs befinden.

Gefilterte Jobliste aufrufen

Optional können Sie den Abfrageparameter filter angeben, um eine gefilterte Liste von Jobs basierend auf einem Filterausdruck.

Stellen Sie beispielsweise die folgende GET-Anfrage:

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

Ersetzen Sie FILTER_EXPRESSION durch einen Filterausdruck die URL-Codierung verwendet. Der Filterausdruck muss ein oder mehrere Eigenschaft/Wert-Paare definieren, die durch null oder mehr voneinander getrennt Boolesche Operatoren (AND, OR und NOT).

Sehen Sie sich beispielsweise die folgenden Filterausdrücke an:

  • Nach Jobstatus filtern: Damit nur Jobs angezeigt werden, die sich in einem bestimmten Status verwenden, verwenden Sie den folgenden Filterausdruck:

    status.state="JOB_STATE"
    

    Ersetzen Sie JOB_STATE durch einen Jobstatus – für Beispiel: FAILED.

  • Nach Labels filtern: Angenommen, in Ihrem Projekt wurde das folgende benutzerdefinierte Labels:

    • Um Jobs und ihre Ressourcen anzugeben, die durch Ihre Forschung geschaffen wurden wenn Sie Cloud Billing-Berichte aufrufen, ihre Ressourcen haben das Label team, das auf research gesetzt ist.

    • Einige Jobs haben einen deadline, um zeitkritische Arbeitslasten anzugeben. Label, das auf verschiedene Werte festgelegt ist.

    • Um Runnables anzuzeigen, die Ihr Entwicklungsteam erfolgreich hat Einige Runnables haben das Label tested, das auf true gesetzt ist.

    Anschließend können Sie den folgenden Filterausdruck angeben:

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

    Mit diesem Filterausdruck werden nur Jobs aufgelistet, die alle folgenden Bedingungen erfüllen Kriterien:

    • Jobs, die vom Research-Team stammen und das Label team auf der Zuweisungsrichtlinie des Jobs, die auf research festgelegt ist.

    • Jobs, die mindestens eines der folgenden Kriterien erfüllen:

      • Jobs, die zeitkritisch sind und das Label deadline auf der Job, der auf einen beliebigen Wert gesetzt ist.

      • Jobs mit mindestens einem erfolgreich ausgeführten ausführbaren Job getestet, also Jobs mit mindestens einem Runnable mit einer Das Label tested, das auf true festgelegt ist.

Go

Go

Weitere Informationen finden Sie in der Batch Go API Referenzdokumentation.

Richten Sie Standardanmeldedaten für Anwendungen ein, um sich bei Batch zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.

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

Weitere Informationen finden Sie in der Batch Java API Referenzdokumentation.

Richten Sie Standardanmeldedaten für Anwendungen ein, um sich bei Batch zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.

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

Weitere Informationen finden Sie in der Batch Node.js API Referenzdokumentation.

Richten Sie Standardanmeldedaten für Anwendungen ein, um sich bei Batch zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.

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

Weitere Informationen finden Sie in der Batch Python API Referenzdokumentation.

Richten Sie Standardanmeldedaten für Anwendungen ein, um sich bei Batch zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.

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++

Weitere Informationen finden Sie in der Batch C++ API Referenzdokumentation.

Richten Sie Standardanmeldedaten für Anwendungen ein, um sich bei Batch zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.

#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";
    }
  }

Details eines Jobs ansehen

Sie können die Details eines Jobs im aktuellen Projekt mithilfe der Google Cloud Console, gcloud CLI, Batch API, Go Java, Node.js, Python oder C++.

Console

So rufen Sie die Details eines Jobs im aktuellen Projekt mithilfe der Google Cloud Console führen Sie die folgenden Schritte aus:

  1. Rufen Sie in der Google Cloud Console die Seite Jobliste auf.

    Zur Jobliste

  2. Klicken Sie in der Spalte Jobname auf den Namen eines Jobs.

    Die Seite Jobdetails wird aufgerufen.

    Der Tab Details ist standardmäßig geöffnet. Weitere Informationen erhalten Sie, wenn Sie auf anderen Registerkarten.

gcloud

So rufen Sie die Details eines Jobs im aktuellen Projekt mithilfe der gcloud CLI verwenden, verwenden Sie die gcloud batch jobs describe-Befehl mit dem Flag --location.

gcloud batch jobs describe JOB_NAME \
    --location=LOCATION

Ersetzen Sie Folgendes:

  • JOB_NAME: der Name eines vorhandenen Jobs.

  • LOCATION: der Standort wo der Job liegt.

API

So rufen Sie die Details eines Jobs im aktuellen Projekt mithilfe der Batch API senden Sie eine GET-Anfrage an die Methode jobs.get.

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

Ersetzen Sie Folgendes:

  • PROJECT_ID: die Projekt-ID des aktuellen Projekts.

  • LOCATION: der Standort wo der Job liegt.

  • JOB_NAME: der Name eines vorhandenen Jobs.

Go

Go

Weitere Informationen finden Sie in der Batch Go API Referenzdokumentation.

Richten Sie Standardanmeldedaten für Anwendungen ein, um sich bei Batch zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.

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

Weitere Informationen finden Sie in der Batch Java API Referenzdokumentation.

Richten Sie Standardanmeldedaten für Anwendungen ein, um sich bei Batch zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.

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

Weitere Informationen finden Sie in der Batch Node.js API Referenzdokumentation.

Richten Sie Standardanmeldedaten für Anwendungen ein, um sich bei Batch zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.

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

Weitere Informationen finden Sie in der Batch Python API Referenzdokumentation.

Richten Sie Standardanmeldedaten für Anwendungen ein, um sich bei Batch zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.


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++

Weitere Informationen finden Sie in der Batch C++ API Referenzdokumentation.

Richten Sie Standardanmeldedaten für Anwendungen ein, um sich bei Batch zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.

#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";
  }

Aufgaben ansehen

Wählen Sie eine der folgenden Methoden aus, um die Aufgaben für einen Ihrer Jobs aufzurufen:

Liste der Aufgaben eines Auftrags aufrufen

Sie können eine Liste der Aufgaben in einem Job oder einer Aufgabengruppe eines Jobs mithilfe der Google Cloud Console, gcloud CLI, Batch API, Go Java, Node.js, Python oder C++.

Wenn Sie eine Liste von Aufgaben in einem Job oder einer Aufgabengruppe eines Jobs filtern möchten, Beispiel, um nur die Aufgaben aufzulisten, die erfolgreich abgeschlossen wurden ausgeführt wird – Sie müssen die gcloud CLI oder Batch verwenden API.

Console

Um eine Zusammenfassung der Aufgaben eines Jobs mithilfe der Google Cloud Console können Sie die Details eines Jobs aufrufen, um Öffnen Sie die Seite Jobdetails. Sehen Sie sich dann den Abschnitt Aufgabendetails an.

gcloud

Um eine Liste der Aufgaben in der Aufgabengruppe eines Auftrags mithilfe der gcloud CLI verwenden, verwenden Sie die gcloud batch tasks list-Befehl mit den folgenden Flags:

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

Ersetzen Sie Folgendes:

  • JOB_NAME: der Name eines vorhandenen Jobs.

  • LOCATION: der Standort, an dem Sie der Job existiert.

Optional können Sie das Flag --filter hinzufügen, um eine gefilterte Liste von Aufgaben aufzurufen. in der Aufgabengruppe eines Jobs basierend auf einem Filterausdruck an.

Verwenden Sie zum Beispiel den folgenden Befehl:

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

Ersetzen Sie FILTER_EXPRESSION durch einen Filterausdruck.

Sie können beispielsweise den folgenden Filterausdruck angeben, um nur die Aufgaben in der Aufgabengruppe eines Jobs, die ausgeführt werden oder erfolgreich abgeschlossen:

STATE=RUNNING OR STATE=SUCCEEDED

API

Um eine Liste der Aufgaben in der Aufgabengruppe eines Jobs mithilfe der Batch API senden Sie eine GET-Anfrage an die Methode tasks.list:

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

Ersetzen Sie Folgendes:

  • PROJECT_ID: die Projekt-ID des aktuellen Projekts.

  • LOCATION: der Standort wo der Job liegt.

  • JOB_NAME: der Name eines vorhandenen Jobs.

  • TASK_GROUP_NAME: der Name der Aufgabengruppe, die die Sie aufrufen möchten. Der Wert muss auf group0.

Optional können Sie den Abfrageparameter filter angeben, um eine gefilterte Aufgabenliste in der Aufgabengruppe eines Jobs basierend auf einem Filterausdruck.

Stellen Sie beispielsweise die folgende GET-Anfrage:

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

Ersetzen Sie FILTER_EXPRESSION durch einen Filterausdruck, der URL-Codierung:

Sie können beispielsweise den folgenden Filterausdruck angeben, um nur die Aufgaben in der Aufgabengruppe eines Jobs, die ausgeführt werden oder erfolgreich abgeschlossen:

STATE=RUNNING%20OR%20STATE=SUCCEEDED

Der URL-codierte Filterausdruck stellt den folgenden decodierten Ausdruck dar: Filterausdruck:

STATE=RUNNING OR STATE=SUCCEEDED

Go

Go

Weitere Informationen finden Sie in der Batch Go API Referenzdokumentation.

Richten Sie Standardanmeldedaten für Anwendungen ein, um sich bei Batch zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.

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

Weitere Informationen finden Sie in der Batch Java API Referenzdokumentation.

Richten Sie Standardanmeldedaten für Anwendungen ein, um sich bei Batch zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.

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

Weitere Informationen finden Sie in der Batch Node.js API Referenzdokumentation.

Richten Sie Standardanmeldedaten für Anwendungen ein, um sich bei Batch zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.

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

Weitere Informationen finden Sie in der Batch Python API Referenzdokumentation.

Richten Sie Standardanmeldedaten für Anwendungen ein, um sich bei Batch zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.

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++

Weitere Informationen finden Sie in der Batch C++ API Referenzdokumentation.

Richten Sie Standardanmeldedaten für Anwendungen ein, um sich bei Batch zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.

#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";
    }
  }

Details einer Aufgabe ansehen

Sie können die Details einer Aufgabe mithilfe der Google Cloud Console, gcloud CLI, Batch API, Go Java, Node.js, Python oder C++.

Console

Um die Details einer Aufgabe anzuzeigen, verwenden Sie Google Cloud Console können Sie die Details eines Jobs aufrufen, um Öffnen Sie die Seite Jobdetails. Sehen Sie sich dann den Abschnitt Aufgabendetails an.

gcloud

Um die Details einer Aufgabe mit der gcloud CLI anzuzeigen, verwenden Sie die gcloud batch tasks describe-Befehl mit den folgenden Flags:

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

Ersetzen Sie Folgendes:

  • TASK_INDEX: der Index der Aufgabe, die Sie ansehen möchten zu deren Einzelheiten. In einer Aufgabengruppe beginnt der Aufgabenindex für die erste und erhöht sich bei jeder weiteren Aufgabe um 1. Zum Beispiel kann eine Aufgabe Gruppe, die vier Aufgaben enthält, hat die Indexe 0, 1, 2 und 3.

  • TASK_GROUP_NAME: der Name der Aufgabengruppe, die enthält die Aufgabe, deren Details Sie ansehen möchten. Der Wert muss auf group0 festgelegt.

  • JOB_NAME: der Name eines vorhandenen Jobs.

  • LOCATION: der Standort, an dem Sie der Job existiert.

API

Um die Details einer Aufgabe mit der Batch API anzuzeigen, erstellen Sie eine GET-Anfrage an Methode tasks.get:

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

Ersetzen Sie Folgendes:

  • PROJECT_ID: die Projekt-ID des aktuellen Projekts.

  • LOCATION: der Standort wo der Job liegt.

  • JOB_NAME: der Name eines vorhandenen Jobs.

  • TASK_GROUP_NAME: der Name der Aufgabengruppe, die enthält die Aufgabe, deren Details Sie ansehen möchten. Der Wert muss auf group0 festgelegt.

  • TASK_INDEX: Index der gewünschten Aufgabe um die Details anzuzeigen. In einer Aufgabengruppe beginnt der Aufgabenindex und erhöht sich bei jeder weiteren Aufgabe um 1. Beispiel: Eine Aufgabengruppe mit vier Aufgaben hat die Indexe 0, 1, 2, ein, 3.

Go

Go

Weitere Informationen finden Sie in der Batch Go API Referenzdokumentation.

Richten Sie Standardanmeldedaten für Anwendungen ein, um sich bei Batch zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.

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

Weitere Informationen finden Sie in der Batch Java API Referenzdokumentation.

Richten Sie Standardanmeldedaten für Anwendungen ein, um sich bei Batch zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.

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

Weitere Informationen finden Sie in der Batch Node.js API Referenzdokumentation.

Richten Sie Standardanmeldedaten für Anwendungen ein, um sich bei Batch zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.

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

Weitere Informationen finden Sie in der Batch Python API Referenzdokumentation.

Richten Sie Standardanmeldedaten für Anwendungen ein, um sich bei Batch zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.


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++

Weitere Informationen finden Sie in der Batch C++ API Referenzdokumentation.

Richten Sie Standardanmeldedaten für Anwendungen ein, um sich bei Batch zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.

#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";
  }

Nächste Schritte