Jobs löschen und exportieren

Auf dieser Seite wird beschrieben, wie Sie Batchjobs löschen und exportieren.

Wenn ein Job gelöscht wird, werden die Jobdetails und der Verlauf, die beim Aufrufen eines Jobs und seiner Aufgaben angezeigt werden, aus dem Batch entfernt. Wenn Sie alle Informationen und Ressourcen entfernen möchten, die mit einem Job verknüpft sind, müssen Sie auch Elemente aus allen zusätzlich aktivierten Google Cloud-Produkten löschen, z. B. Pub/Sub-Themen, BigQuery-Tabellen oder Cloud Logging-Logs.

Google Cloud löscht einen Job automatisch 60 Tage, nachdem er fehlgeschlagen oder erfolgreich war. Bevor ein Job automatisch gelöscht wird, können Sie optional einen der folgenden Schritte ausführen:

  • Job exportieren: Wenn Sie die Informationen des Jobs länger als 60 Tage aufbewahren möchten, haben Sie folgende Möglichkeiten:

  • Job löschen: Wie in diesem Dokument erläutert, können Sie einen Job manuell löschen, wenn Sie ihn aus der Jobliste Ihres Projekts entfernen möchten und den Jobverlauf nicht mehr benötigen. Wenn Sie einen Job löschen, bevor oder während er ausgeführt wird, wird der Job abgebrochen.

Hinweise

Job löschen

Sie können Jobs mit der Google Cloud Console, der gcloud CLI, der Batch API, Go, Java, Node.js, Python oder C++ löschen.

Console

So löschen Sie einen Job über die Google Cloud Console:

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

    Zur Jobliste

  2. Klicken Sie auf den Namen des Jobs, den Sie erstellt haben. Die Seite Jobdetails wird aufgerufen.

  3. Klicken Sie auf Löschen.

  4. Geben Sie im Dialogfeld Batchjob löschen? für das Feld Delete ein.

  5. Klicken Sie auf Löschen.

    Auf der Seite Jobliste wird angezeigt, dass der Job gelöscht wurde.

gcloud

Verwenden Sie den Befehl gcloud batch jobs delete, um einen Job über die gcloud CLI zu löschen.

gcloud batch jobs delete JOB_NAME --location LOCATION

Ersetzen Sie Folgendes:

  • JOB_NAME: der Name des Jobs.
  • LOCATION: der Standort des Jobs.

API

Verwenden Sie die Methode jobs.delete, um einen Job mit der Batch API zu löschen:

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

Ersetzen Sie Folgendes:

  • PROJECT_ID: die Projekt-ID Ihres Projekts.
  • LOCATION: der Standort des Jobs.
  • JOB_NAME: der Name des Jobs.

Einfach loslegen (Go)

Go

Weitere Informationen finden Sie in der Referenzdokumentation zur Batch Go API.

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

// Deletes the specified job
func deleteJob(w io.Writer, projectID, region, jobName string) error {
	// projectID := "your_project_id"
	// region := "us-central1"
	// jobName := "some-job"

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

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

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

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

	return nil
}

Java

Java

Weitere Informationen finden Sie in der Referenzdokumentation zur Batch Java API.

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 java.io.IOException;
import java.util.concurrent.ExecutionException;
import java.util.concurrent.TimeUnit;
import java.util.concurrent.TimeoutException;

public class DeleteJob {

  public static void main(String[] args)
      throws IOException, ExecutionException, InterruptedException, TimeoutException {
    // 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 that you want to delete.
    String jobName = "JOB_NAME";

    deleteJob(projectId, region, jobName);
  }

  // Triggers the deletion of a Job.
  public static void deleteJob(String projectId, String region, String jobName)
      throws IOException, ExecutionException, InterruptedException, TimeoutException {
    // 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 name = String.format("projects/%s/locations/%s/jobs/%s", projectId, region, jobName);

      batchServiceClient.deleteJobAsync(name).get(5, TimeUnit.MINUTES);
      System.out.printf("Delete the job: %s", jobName);
    }
  }
}

Node.js

Node.js

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

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 delete.
 */
// 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 callDeleteJob() {
  // Construct request
  const request = {
    name: `projects/${projectId}/locations/${region}/jobs/${jobName}`,
  };

  // Run request
  const [operation] = await batchClient.deleteJob(request);
  const [response] = await operation.promise();
  console.log(response);
}

callDeleteJob();

Python

Python

Weitere Informationen finden Sie in der Referenzdokumentation zur Batch Python API.

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.api_core.operation import Operation

from google.cloud import batch_v1

def delete_job(project_id: str, region: str, job_name: str) -> Operation:
    """
    Triggers the deletion of a 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 that you want to delete.

    Returns:
        An operation object related to the deletion. You can call `.result()`
        on it to wait for its completion.
    """
    client = batch_v1.BatchServiceClient()

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

C++

C++

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

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;
    google::cloud::batch::v1::DeleteJobRequest request;
    request.set_name(name);
    // Initialize a client and issue the request.
    auto client = google::cloud::batch_v1::BatchServiceClient(
        google::cloud::batch_v1::MakeBatchServiceConnection());
    auto future = client.DeleteJob(request);
    // Wait until the long-running operation completes.
    auto success = future.get();
    if (!success) throw std::move(success).status();
    std::cout << "Job " << name << " successfully deleted\n";
  }

Nächste Schritte