Elimina un cluster di connessione

L'eliminazione di un cluster di connessione cancella tutti i dati associati, incluse le configurazioni dei connettori archiviate nel cluster Kafka principale. L'operazione è irreversibile.

Per eliminare un cluster Connect, puoi utilizzare la console Google Cloud , gcloud CLI, la libreria client o l'API Managed Kafka. Non puoi utilizzare l'API Apache Kafka open source per eliminare un cluster Connect.

Ruoli e autorizzazioni richiesti per eliminare un cluster di connessione

Per ottenere le autorizzazioni necessarie per eliminare un cluster Connect, chiedi all'amministratore di concederti il ruolo IAM Editor cluster Managed Kafka Connect (roles/managedkafka.connectClusterEditor) nel progetto. Per saperne di più sulla concessione dei ruoli, consulta Gestisci l'accesso a progetti, cartelle e organizzazioni.

Questo ruolo predefinito contiene le autorizzazioni necessarie per eliminare un cluster Connect. Per vedere quali sono esattamente le autorizzazioni richieste, espandi la sezione Autorizzazioni obbligatorie:

Autorizzazioni obbligatorie

Per eliminare un cluster di connessione sono necessarie le seguenti autorizzazioni:

  • Concedi l'autorizzazione per eliminare un cluster di connessione sul cluster di connessione: managedkafka.connectClusters.delete
  • Concedi l'autorizzazione Elenca cluster di connessione nella località specificata. Questa autorizzazione è necessaria solo per eliminare un cluster di connessione utilizzando la console Google Cloud : managedkafka.connectClusters.list

Potresti anche ottenere queste autorizzazioni con ruoli personalizzati o altri ruoli predefiniti.

Per maggiori informazioni sul ruolo Editor cluster Managed Kafka Connect, vedi Ruoli predefiniti di Managed Service per Apache Kafka.

Elimina un cluster di connessione

  • Comprendi le implicazioni della perdita di dati:l'eliminazione di un cluster Connect cancella tutti i dati memorizzati all'interno del cluster Connect stesso. Ciò include quanto segue:

    • Connettori e relative configurazioni

    • Qualsiasi altro dato gestito direttamente dal cluster Connect

    L'eliminazione di un cluster Connect non elimina i dati nei cluster Kafka di origine o di destinazione. Se utilizzi un connettore di origine per spostare i dati in un argomento Kafka, l'eliminazione del cluster Connect non elimina i dati già pubblicati in quell'argomento Kafka. Allo stesso modo, l'eliminazione di un cluster di connessione non comporta l'eliminazione dei cluster Kafka a cui è associato.

  • Pianifica l'interruzione del servizio:eventuali applicazioni o servizi che dipendono dai dati letti o scritti dal cluster Connect potrebbero subire interruzioni. Pianifica questa interruzione del servizio prima di eliminare il cluster.

  • Esamina le implicazioni per la fatturazione:dopo l'eliminazione, non ti verranno più addebitati costi per il cluster. Potresti comunque ricevere una fattura per le risorse utilizzate fino all'eliminazione.

  • Prevedi un'operazione asincrona: l'eliminazione del cluster è asincrona per impostazione predefinita. Il comando viene restituito immediatamente e puoi monitorare l'avanzamento dell'eliminazione separatamente.

Console

  1. Nella console Google Cloud , vai alla pagina Connetti cluster.

    Vai a Connetti cluster

  2. Seleziona il cluster Connect che vuoi eliminare. Puoi selezionarne più di uno.

  3. Fai clic su Elimina.

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. Utilizza il comando gcloud managed-kafka connect-clusters delete per eliminare i cluster di connessione:

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

    Sostituisci quanto segue:

    • CONNECT_CLUSTER: l'ID del cluster Connect che vuoi eliminare.
    • LOCATION: la posizione del cluster Connect.

    Il seguente flag è facoltativo:

    • --async: restituisce immediatamente il risultato, senza attendere il completamento dell'operazione in corso.
  3. Go

    Prima di provare questo esempio, segui le istruzioni di configurazione di Go in Installare le librerie client. Per saperne di più, consulta la documentazione di riferimento dell'API Go di Managed Service per Apache Kafka.

    Per eseguire l'autenticazione in Managed Service per Apache Kafka, configura le Credenziali predefinite dell'applicazione(ADC). Per saperne di più, vedi Configura ADC per un ambiente di sviluppo locale.

    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

    Prima di provare questo esempio, segui le istruzioni di configurazione di Java in Installare le librerie client. Per saperne di più, consulta la documentazione di riferimento dell'API Java di Managed Service per Apache Kafka.

    Per eseguire l'autenticazione in Managed Service per Apache Kafka, configura le Credenziali predefinite dell'applicazione. Per saperne di più, vedi Configura ADC per un ambiente di sviluppo locale.

    
    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

    Prima di provare questo esempio, segui le istruzioni di configurazione di Python in Installare le librerie client. Per saperne di più, consulta la documentazione di riferimento dell'API Python di Managed Service per Apache Kafka.

    Per eseguire l'autenticazione in Managed Service per Apache Kafka, configura le Credenziali predefinite dell'applicazione. Per saperne di più, vedi Configura ADC per un ambiente di sviluppo locale.

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

Passaggi successivi

Apache Kafka® è un marchio registrato di Apache Software Foundation o delle sue affiliate negli Stati Uniti e/o in altri paesi.