Menghapus dan mengekspor tugas

Halaman ini menjelaskan cara menghapus dan mengekspor tugas Batch.

Saat tugas dihapus, detail dan histori tugas yang muncul saat Anda melihat tugas dan tugasnya akan dihapus dari Batch. Jika ingin menghapus semua informasi dan resource yang terkait dengan tugas, Anda juga harus menghapus item dari produk Google Cloud tambahan yang diaktifkan, seperti topik Pub/Sub, tabel BigQuery, atau log Cloud Logging.

Google Cloud otomatis menghapus tugas 60 hari setelah tugas gagal atau berhasil. Sebelum tugas otomatis dihapus, Anda dapat melakukan salah satu tindakan berikut secara opsional:

  • Ekspor tugas: Jika ingin menyimpan informasi dari tugas tersebut selama lebih dari 60 hari, Anda dapat melakukan salah satu tindakan berikut:

  • Menghapus tugas: Seperti yang dijelaskan dalam dokumen ini, Anda dapat menghapus tugas secara manual jika sudah siap menghapusnya dari daftar tugas project dan tidak lagi memerlukan histori tugas. Jika Anda menghapus tugas sebelum atau saat berjalan, tugas akan dibatalkan.

Sebelum memulai

Menghapus tugas

Anda dapat menghapus tugas menggunakan konsol Google Cloud, gcloud CLI, Batch API, Go, Java, Node.js, Python, atau C++.

Konsol

Untuk menghapus tugas menggunakan konsol Google Cloud, lakukan langkah berikut:

  1. Di konsol Google Cloud, buka halaman Job list.

    Buka Daftar tugas

  2. Klik nama pekerjaan yang Anda buat. Halaman Detail pekerjaan akan terbuka.

  3. Klik Delete.

  4. Pada dialog Delete batch job?, untuk kolom tersebut, masukkan Delete.

  5. Klik Delete.

    Halaman Daftar tugas akan menampilkan bahwa pekerjaan telah dihapus.

gcloud

Untuk menghapus tugas menggunakan gcloud CLI, gunakan perintah gcloud batch jobs delete.

gcloud batch jobs delete JOB_NAME --location LOCATION

Ganti kode berikut:

  • JOB_NAME: nama tugas.
  • LOCATION: lokasi tugas.

API

Untuk menghapus tugas menggunakan Batch API, gunakan metode jobs.delete:

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

Ganti kode berikut:

  • PROJECT_ID: project ID project Anda.
  • LOCATION: lokasi tugas.
  • JOB_NAME: nama tugas.

Go

Go

Untuk mengetahui informasi selengkapnya, lihat Dokumentasi referensi API Batch Go.

Untuk mengautentikasi ke Batch, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.

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

Untuk mengetahui informasi selengkapnya, lihat Dokumentasi referensi API Batch Java.

Untuk mengautentikasi ke Batch, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.

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

Untuk mengetahui informasi selengkapnya, lihat Dokumentasi referensi API Batch Node.js.

Untuk mengautentikasi ke Batch, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.

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

Untuk mengetahui informasi selengkapnya, lihat Dokumentasi referensi API Batch Python.

Untuk mengautentikasi ke Batch, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.

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

Untuk mengetahui informasi selengkapnya, lihat Dokumentasi referensi API Batch C++.

Untuk mengautentikasi ke Batch, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.

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

Langkah selanjutnya