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. Die Open-Source-Apache Kafka API kann nicht zum Löschen eines Connect-Clusters verwendet werden.

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

Bitten Sie Ihren Administrator, Ihnen die IAM-Rolle Bearbeiter von Managed Kafka Connect-Clustern (roles/managedkafka.connectClusterEditor) für das 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, die erforderlich sind:

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 die Berechtigung zum Auflisten von Connect-Clustern für den angegebenen Standort. Diese Berechtigung ist nur erforderlich, wenn Sie einen Connect-Cluster über die Google Cloud Console löschen: managedkafka.connectClusters.list

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

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

    Beim Löschen eines Connect-Clusters 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, nicht gelöscht, wenn Sie den Connect-Cluster löschen. Ebenso werden beim Löschen eines Connect-Clusters nicht die Kafka-Cluster gelöscht, mit denen der Connect-Cluster verknüpft ist.

  • Dienstunterbrechungen einplanen:Bei allen Anwendungen oder Diensten, die auf Daten angewiesen sind, 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 für ihn an. Möglicherweise werden Ihnen aber noch Kosten für Ressourcen in Rechnung gestellt, die bis zum Löschen verwendet wurden.

  • Asynchronen Vorgang erwarten: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-Cluster auf.

    Zu den Connect-Clustern

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

  3. Klicken Sie auf Löschen.

gcloud

  1. Aktivieren Sie Cloud Shell in der Google Cloud Console.

    Cloud Shell aktivieren

    Unten in der Google Cloud Console wird eine Cloud Shell Sitzung gestartet und eine Eingabeaufforderung angezeigt. Cloud Shell ist eine Shell-Umgebung in der das Google Cloud CLI bereits installiert ist und Werte für Ihr aktuelles Projekt bereits festgelegt sind. Das Initialisieren der Sitzung kann einige Sekunden dauern.

  2. Verwenden Sie den gcloud managed-kafka connect-clusters delete Befehl, 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 an das Terminal zurück, ohne auf den Abschluss des Vorgangs zu warten.

Go

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

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

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

Richten Sie zur Authentifizierung bei Managed Service for Apache Kafka die Standardanmeldedaten für Anwendungen ein. 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

Folgen Sie der Einrichtungsanleitung für Python unter Clientbibliotheken installieren, bevor Sie dieses Beispiel anwenden. Weitere Informationen finden Sie in der Referenzdokumentation zur Managed Service for Apache Kafka Python API.

Richten Sie zur Authentifizierung bei Managed Service for Apache Kafka die Standardanmeldedaten für Anwendungen ein. 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 ihrer Tochtergesellschaften in den USA und/oder anderen Ländern.