Connect-Cluster löschen

Wenn Sie einen Connect-Cluster löschen, werden alle zugehörigen Daten gelöscht, einschließlich der Connector-Konfigurationen, die im primären Kafka-Cluster gespeichert sind. Diese Aktion kann nicht rückgängig gemacht werden.

Sie können einen Connect-Cluster über die Google Cloud Console, die gcloud CLI, die Clientbibliothek oder die Managed Kafka API löschen. Sie können die Open-Source-Apache Kafka API nicht verwenden, um einen Connect-Cluster zu löschen.

Erforderliche Rollen und Berechtigungen zum Löschen eines Connect-Clusters

Bitten Sie Ihren Administrator, Ihnen die IAM-Rolle Managed Kafka Connect Cluster Editor (roles/managedkafka.connectClusterEditor) für Ihr Projekt zuzuweisen, um die Berechtigungen zu erhalten, die Sie zum Löschen eines Connect-Clusters benötigen. Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff auf Projekte, Ordner und Organisationen verwalten.

Diese vordefinierte Rolle enthält die Berechtigungen, die zum Löschen eines Connect-Clusters erforderlich sind. Maximieren Sie den Abschnitt Erforderliche Berechtigungen, um die notwendigen Berechtigungen anzuzeigen:

Erforderliche Berechtigungen

Die folgenden Berechtigungen sind zum Löschen eines Connect-Clusters erforderlich:

  • Erteilen Sie die Berechtigung zum Löschen eines Connect-Clusters für den Connect-Cluster: managedkafka.connectClusters.delete
  • Erteilen Sie der Liste die Berechtigung „Connect-Cluster“ für den angegebenen Standort. Diese Berechtigung ist nur erforderlich, um einen Connect-Cluster mit der Google Cloud Console zu löschen: managedkafka.connectClusters.list

Sie können diese Berechtigungen auch mit benutzerdefinierten Rollen oder anderen vordefinierten Rollen erhalten.

Weitere Informationen zur Rolle „Managed Kafka Connect Cluster Editor“ finden Sie unter Vordefinierte Rollen für Managed Service for Apache Kafka.

Connect-Cluster löschen

  • Auswirkungen von Datenverlusten verstehen:Wenn Sie einen Connect-Cluster löschen, werden alle Daten gelöscht, die im Connect-Cluster selbst gespeichert sind. Dazu gehören:

    • Connectors und ihre Konfigurationen

    • Alle anderen Daten, die direkt vom Connect-Cluster verwaltet werden

    Wenn Sie einen Connect-Cluster löschen, werden keine Daten in Ihren Kafka-Quell- oder ‑Zielclustern gelöscht. Wenn Sie einen Quell-Connector verwenden, um Daten in ein Kafka-Thema zu verschieben, werden die Daten, die bereits in diesem Kafka-Thema veröffentlicht wurden, durch das Löschen des Connect-Clusters nicht gelöscht. Wenn Sie einen Connect-Cluster löschen, werden die Kafka-Cluster, mit denen der Connect-Cluster verknüpft ist, nicht gelöscht.

  • Dienstunterbrechungen einplanen:Bei allen Anwendungen oder Diensten, die von Daten abhängen, die vom Connect-Cluster gelesen oder geschrieben werden, kann es zu Unterbrechungen kommen. Planen Sie diese Dienstunterbrechung ein, bevor Sie den Cluster löschen.

  • Auswirkungen auf die Abrechnung prüfen:Nach dem Löschen des Clusters fallen keine Gebühren mehr an. Möglicherweise werden Ihnen aber noch Kosten für die Nutzung von Ressourcen bis zum Löschen in Rechnung gestellt.

  • Asynchroner Vorgang:Das Löschen von Clustern ist standardmäßig asynchron. Der Befehl wird sofort zurückgegeben und Sie können den Fortschritt des Löschvorgangs separat verfolgen.

Console

  1. Rufen Sie in der Google Cloud Console die Seite Connect Clusters auf.

    Zu „Cluster verbinden“

  2. Wählen Sie den Connect-Cluster aus, den Sie löschen möchten. Sie können auch mehrere auswählen.

  3. Klicken Sie auf Löschen.

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. Verwenden Sie den Befehl gcloud managed-kafka connect-clusters delete, um Connect-Cluster zu löschen:

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

    Ersetzen Sie Folgendes:

    • CONNECT_CLUSTER: Die ID des Connect-Clusters, den Sie löschen möchten.
    • LOCATION: Der Standort des Connect-Clusters.

    Das folgende Flag ist optional:

    • --async: Gibt die Steuerung sofort zurück, ohne auf den Abschluss des Vorgangs zu warten.
  3. Go

    Bevor Sie dieses Beispiel ausprobieren, folgen Sie der Einrichtungsanleitung für Go unter Clientbibliotheken installieren. Weitere Informationen finden Sie in der Referenzdokumentation zur Go API für Managed Service for Apache Kafka.

    Richten Sie zur Authentifizierung bei Managed Service for Apache Kafka die Standardanmeldedaten für Anwendungen(Application Default Credentials, ADC) ein. Weitere Informationen finden Sie unter ADC für eine lokale Entwicklungsumgebung einrichten.

    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

    Bevor Sie dieses Beispiel ausprobieren, folgen Sie der Einrichtungsanleitung für Java unter Clientbibliotheken installieren. Weitere Informationen finden Sie in der Referenzdokumentation zur Java API für Managed Service for Apache Kafka.

    Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Managed Service for Apache Kafka zu authentifizieren. Weitere Informationen finden Sie unter ADC für eine lokale Entwicklungsumgebung einrichten.

    
    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

    Bevor Sie dieses Beispiel ausprobieren, folgen Sie der Anleitung für die Einrichtung von Python unter Clientbibliotheken installieren. Weitere Informationen finden Sie in der Referenzdokumentation zur Python API für Managed Service for Apache Kafka.

    Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Managed Service for Apache Kafka zu authentifizieren. Weitere Informationen finden Sie unter ADC für eine lokale Entwicklungsumgebung einrichten.

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

Nächste Schritte

Apache Kafka® ist eine eingetragene Marke der Apache Software Foundation oder deren Tochtergesellschaften in den USA und/oder anderen Ländern.