Borra un trabajo

En esta página, se describe cómo borrar un trabajo por lotes.

Antes de comenzar

Borra un trabajo

Borra un trabajo cuando estés listo para quitarlo de la lista de trabajos de tu proyecto y ya no necesites el historial del trabajo. Si borras un trabajo antes o mientras se ejecuta, se cancela.

Puedes borrar un trabajo mediante la consola de Google Cloud, la CLI de gcloud, la API de Batch, Go, Java, Node.js o Python.

Consola

Para borrar un trabajo con la consola de Google Cloud, haz lo siguiente:

  1. En la consola de Google Cloud, ve a la página Lista de trabajos.

    Ir a la lista de trabajos

  2. Haz clic en el nombre del trabajo que creaste. Se abrirá la página Detalles del trabajo.

  3. Haz clic en Borrar.

  4. En el cuadro de diálogo ¿Borrar trabajo por lotes?, ingresa Delete.

  5. Haz clic en Borrar.

    En la página Lista de trabajos, se muestra que se borró el trabajo.

gcloud

Para borrar un trabajo con la CLI de gcloud, usa el comando gcloud batch jobs delete.

gcloud batch jobs delete JOB_NAME --location LOCATION

Reemplaza lo siguiente:

  • JOB_NAME: Es el nombre del trabajo.
  • LOCATION: Es la ubicación del trabajo.

API

Para borrar un trabajo con la API de Batch, usa el método jobs.delete:

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

Reemplaza lo siguiente:

Comienza a usarlo

Go

Si deseas obtener más información, consulta la documentación de referencia de la API de Go por lotes.

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

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

	return nil
}

Java

Java

Si deseas obtener más información, consulta la documentación de referencia de la API de Java por lotes.


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

Si deseas obtener más información, consulta la documentación de referencia de la API de Node.js por lotes.

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

Si deseas obtener más información, consulta la documentación de referencia de la API de Python por lotes.

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

¿Qué sigue?