Menghapus 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 akan otomatis menghapus tugas 60 hari setelah dibatalkan (Pratinjau), berhasil, atau gagal. Sebelum tugas dihapus secara otomatis, Anda dapat melakukan salah satu tindakan berikut secara opsional:

  • Mengekspor informasi tugas: Jika ingin mempertahankan informasi dari tugas selama lebih dari 60 hari, Anda dapat mengekspor informasi tugas ke BigQuery menggunakan Alur Kerja. Untuk mengetahui informasi selengkapnya, lihat Mengekspor informasi tugas.

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

Sebelum memulai

  1. Jika belum pernah menggunakan Batch, baca Mulai menggunakan Batch dan aktifkan Batch dengan menyelesaikan prasyarat untuk project dan pengguna.
  2. Untuk mendapatkan izin yang diperlukan guna menghapus tugas, minta administrator untuk memberi Anda peran IAM Batch Job Editor (roles/batch.jobsEditor) pada project. Untuk mengetahui informasi selengkapnya tentang cara memberikan peran, lihat Mengelola akses ke project, folder, dan organisasi.

    Anda mungkin juga bisa mendapatkan izin yang diperlukan melalui peran khusus atau peran bawaan lainnya.

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 hal berikut:

  1. Di konsol Google Cloud, buka halaman Daftar tugas.

    Buka Daftar tugas

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

  3. Klik Delete.

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

  5. Klik Hapus.

    Halaman Daftar tugas menampilkan bahwa tugas 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 Batch Go API.

Untuk melakukan autentikasi 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 Batch Java API.

Untuk melakukan autentikasi 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 Batch Node.js API.

Untuk melakukan autentikasi 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);
}

await callDeleteJob();

Python

Python

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

Untuk melakukan autentikasi 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 Batch C++ API.

Untuk melakukan autentikasi 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