Borra un clúster de Connect

Si borras un clúster de Connect, se borrarán todos los datos asociados, incluidos los parámetros de configuración del conector almacenados en su clúster principal de Kafka. Esta acción es irreversible.

Para borrar un clúster de Connect, puedes usar la consola de Google Cloud , gcloud CLI, la biblioteca cliente o la API de Kafka administrado. No puedes usar la API de Apache Kafka de código abierto para borrar un clúster de Connect.

Roles y permisos obligatorios para borrar un clúster de Connect

Para obtener los permisos que necesitas para borrar un clúster de Connect, pídele a tu administrador que te otorgue el rol de IAM Editor de clústeres de Kafka Connect administrados (roles/managedkafka.connectClusterEditor) en tu proyecto. Para obtener más información sobre cómo otorgar roles, consulta Administra el acceso a proyectos, carpetas y organizaciones.

Este rol predefinido contiene los permisos necesarios para borrar un clúster de Connect. Para ver los permisos exactos que son necesarios, expande la sección Permisos requeridos:

Permisos necesarios

Se requieren los siguientes permisos para borrar un clúster de Connect:

  • Otorga el permiso para borrar un clúster de Connect en el clúster de Connect: managedkafka.connectClusters.delete
  • Otorga el permiso de lista de clústeres de Connect en la ubicación especificada. Este permiso solo es necesario para borrar un clúster de Connect con la Google Cloud consola: managedkafka.connectClusters.list

También puedes obtener estos permisos con roles personalizados o con otros roles predefinidos.

Para obtener más información sobre el rol de editor de clústeres de Kafka Connect administrados, consulta Roles predefinidos de Managed Service para Apache Kafka.

Borra un clúster de Connect

  • Comprende las implicaciones de la pérdida de datos: Si borras un clúster de Connect, se borrarán todos los datos almacenados dentro del clúster de Connect. Esto incluye lo siguiente:

    • Conectores y sus configuraciones

    • Cualquier otro dato que administre directamente el clúster de Connect

    Borrar un clúster de Connect no borra los datos de los clústeres de Kafka de origen o destino. Si usas un conector de origen para transferir datos a un tema de Kafka, borrar el clúster de Connect no borrará los datos que ya se publicaron en ese tema de Kafka. Del mismo modo, borrar un clúster de Connect no borra los clústeres de Kafka con los que está asociado el clúster de Connect.

  • Planifica la interrupción del servicio: Es posible que se produzcan interrupciones en las aplicaciones o los servicios que dependan de los datos que lee o escribe el clúster de Connect. Planifica esta interrupción del servicio antes de borrar el clúster.

  • Revisa las implicaciones de la facturación: Dejarás de generar cargos por el clúster después de que lo borres. Es posible que aún se te facture por los recursos que se usaron hasta la eliminación.

  • Operación asíncrona esperada: De forma predeterminada, el borrado del clúster es asíncrono. El comando se muestra de inmediato, y puedes hacer un seguimiento del progreso de la eliminación por separado.

Console

  1. En la consola de Google Cloud , ve a la página Connect Clusters.

    Ir a Connect Clusters

  2. Selecciona el clúster de Connect que deseas borrar. Puedes seleccionar más de uno.

  3. Haz clic en Borrar.

gcloud

  1. In the Google Cloud console, activate Cloud Shell.

    Activate Cloud Shell

    At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.

  2. Usa el comando gcloud managed-kafka connect-clusters delete para borrar clústeres de Connect:

    gcloud managed-kafka connect-clusters delete CONNECT_CLUSTER \
        --location=LOCATION [--async]
    

    Reemplaza lo siguiente:

    • CONNECT_CLUSTER: ID del clúster de Connect que deseas borrar.
    • LOCATION: Es la ubicación del clúster de Connect.

    La siguiente marca es opcional:

    • --async: Se muestra de inmediato, sin necesidad de esperar a que se complete la operación en curso.
  3. Go

    Antes de probar este ejemplo, sigue las instrucciones de configuración de Go en Instala las bibliotecas cliente. Para obtener más información, consulta la documentación de referencia de la API de Managed Service para Apache Kafka en Go.

    Para autenticarte en Managed Service for Apache Kafka, configura las credenciales predeterminadas de la aplicación(ADC). Para obtener más información, consulta Configura ADC para un entorno de desarrollo local.

    import (
    	"context"
    	"fmt"
    	"io"
    
    	"cloud.google.com/go/managedkafka/apiv1/managedkafkapb"
    	"google.golang.org/api/option"
    
    	managedkafka "cloud.google.com/go/managedkafka/apiv1"
    )
    
    func deleteConnectCluster(w io.Writer, projectID, region, clusterID string, opts ...option.ClientOption) error {
    	// projectID := "my-project-id"
    	// region := "us-central1"
    	// clusterID := "my-connect-cluster"
    	ctx := context.Background()
    	client, err := managedkafka.NewManagedKafkaConnectClient(ctx, opts...)
    	if err != nil {
    		return fmt.Errorf("managedkafka.NewManagedKafkaConnectClient got err: %w", err)
    	}
    	defer client.Close()
    
    	clusterPath := fmt.Sprintf("projects/%s/locations/%s/connectClusters/%s", projectID, region, clusterID)
    	req := &managedkafkapb.DeleteConnectClusterRequest{
    		Name: clusterPath,
    	}
    	op, err := client.DeleteConnectCluster(ctx, req)
    	if err != nil {
    		return fmt.Errorf("client.DeleteConnectCluster got err: %w", err)
    	}
    	err = op.Wait(ctx)
    	if err != nil {
    		return fmt.Errorf("op.Wait got err: %w", err)
    	}
    	fmt.Fprint(w, "Deleted connect cluster\n")
    	return nil
    }
    

    Java

    Antes de probar este ejemplo, sigue las instrucciones de configuración de Java en Instala las bibliotecas cliente. Para obtener más información, consulta la documentación de referencia de la API de Java de Managed Service for Apache Kafka.

    Para autenticarte en el servicio administrado para Apache Kafka, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta Configura ADC para un entorno de desarrollo local.

    
    import com.google.api.gax.longrunning.OperationFuture;
    import com.google.api.gax.longrunning.OperationSnapshot;
    import com.google.api.gax.longrunning.OperationTimedPollAlgorithm;
    import com.google.api.gax.retrying.RetrySettings;
    import com.google.api.gax.retrying.TimedRetryAlgorithm;
    import com.google.api.gax.rpc.ApiException;
    import com.google.cloud.managedkafka.v1.ConnectClusterName;
    import com.google.cloud.managedkafka.v1.DeleteConnectClusterRequest;
    import com.google.cloud.managedkafka.v1.ManagedKafkaConnectClient;
    import com.google.cloud.managedkafka.v1.ManagedKafkaConnectSettings;
    import com.google.cloud.managedkafka.v1.OperationMetadata;
    import com.google.protobuf.Empty;
    import java.io.IOException;
    import java.time.Duration;
    
    public class DeleteConnectCluster {
    
      public static void main(String[] args) throws Exception {
        // TODO(developer): Replace these variables before running the example.
        String projectId = "my-project-id";
        String region = "my-region"; // e.g. us-east1
        String clusterId = "my-connect-cluster";
        deleteConnectCluster(projectId, region, clusterId);
      }
    
      public static void deleteConnectCluster(String projectId, String region, String clusterId)
          throws Exception {
    
        // Create the settings to configure the timeout for polling operations
        ManagedKafkaConnectSettings.Builder settingsBuilder = ManagedKafkaConnectSettings.newBuilder();
        TimedRetryAlgorithm timedRetryAlgorithm = OperationTimedPollAlgorithm.create(
            RetrySettings.newBuilder()
                .setTotalTimeoutDuration(Duration.ofHours(1L))
                .build());
        settingsBuilder.deleteConnectClusterOperationSettings()
            .setPollingAlgorithm(timedRetryAlgorithm);
    
        try (ManagedKafkaConnectClient managedKafkaConnectClient = ManagedKafkaConnectClient.create(
            settingsBuilder.build())) {
          DeleteConnectClusterRequest request = DeleteConnectClusterRequest.newBuilder()
              .setName(ConnectClusterName.of(projectId, region, clusterId).toString())
              .build();
          OperationFuture<Empty, OperationMetadata> future = managedKafkaConnectClient
              .deleteConnectClusterOperationCallable().futureCall(request);
    
          // Get the initial LRO and print details. CreateConnectCluster contains sample
          // code for polling logs.
          OperationSnapshot operation = future.getInitialFuture().get();
          System.out.printf(
              "Connect cluster deletion started. Operation name: %s\nDone: %s\nMetadata: %s\n",
              operation.getName(),
              operation.isDone(),
              future.getMetadata().get().toString());
    
          future.get();
          System.out.println("Deleted connect cluster");
        } catch (IOException | ApiException e) {
          System.err.printf("managedKafkaConnectClient.deleteConnectCluster got err: %s\n", 
              e.getMessage());
        }
      }
    }
    

    Python

    Antes de probar este ejemplo, sigue las instrucciones de configuración de Python en Instala las bibliotecas cliente. Si deseas obtener más información, consulta la documentación de referencia de la API de Python de Managed Service for Apache Kafka.

    Para autenticarte en el servicio administrado para Apache Kafka, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta Configura ADC para un entorno de desarrollo local.

    from google.api_core.exceptions import GoogleAPICallError
    from google.cloud.managedkafka_v1.services.managed_kafka_connect import (
        ManagedKafkaConnectClient,
    )
    from google.cloud import managedkafka_v1
    
    # TODO(developer)
    # project_id = "my-project-id"
    # region = "us-central1"
    # connect_cluster_id = "my-connect-cluster"
    
    connect_client = ManagedKafkaConnectClient()
    
    request = managedkafka_v1.DeleteConnectClusterRequest(
        name=connect_client.connect_cluster_path(project_id, region, connect_cluster_id),
    )
    
    try:
        operation = connect_client.delete_connect_cluster(request=request)
        print(f"Waiting for operation {operation.operation.name} to complete...")
        operation.result()
        print("Deleted Connect cluster")
    except GoogleAPICallError as e:
        print(f"The operation failed with error: {e}")
    

Próximos pasos

Apache Kafka® es una marca registrada de The Apache Software Foundation o sus afiliados en Estados Unidos y otros países.