Google Cloud Managed Service for Apache Kafka-Consumergruppe löschen

Wenn Sie eine Nutzergruppe löschen, wird sie aus Ihrem Managed Service for Apache Kafka-Cluster entfernt.

Sie können eine Consumer-Gruppe über die Google Cloud Console, die Google Cloud CLI, die Clientbibliotheken, die Managed Kafka API oder die Open-Source-Apache Kafka APIs löschen.

Erforderliche Rollen und Berechtigungen zum Löschen einer Nutzergruppe

Bitten Sie Ihren Administrator, Ihnen die IAM-Rolle Managed Kafka Consumer Group Editor (roles/managedkafka.consumerGroupEditor) für Ihr Projekt zuzuweisen, um die Berechtigungen zu erhalten, die Sie zum Löschen Ihrer Consumer-Gruppen 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 Ihrer Verbrauchergruppen erforderlich sind. Maximieren Sie den Abschnitt Erforderliche Berechtigungen, um die notwendigen Berechtigungen anzuzeigen:

Erforderliche Berechtigungen

Die folgenden Berechtigungen sind zum Löschen Ihrer Verbrauchergruppen erforderlich:

  • Nutzergruppen löschen: managedkafka.consumerGroups.delete

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

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

Nutzergruppe löschen

Wenn Sie eine Nutzergruppe löschen, gehen die darin gespeicherten Nutzer-Offsets endgültig verloren. Außerdem können Sie die Logs und Messwerte für die Verbrauchergruppen nicht in der Console sehen. Die mit der Nutzergruppe verknüpften Messwerte und Logs werden jedoch beibehalten und sind über den Log-Explorer zugänglich. Durch das Löschen einer Nutzergruppe werden auch nicht die Nachrichten gelöscht, die sie genutzt hat. Die Nachrichten sind weiterhin in den Themen verfügbar, denen sie ursprünglich zugeordnet waren.

So löschen Sie eine Verbrauchergruppe:

Console

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

    Zu den Clustern

  2. Klicken Sie in der Liste der Cluster auf den Cluster, zu dem die zu löschende Verbrauchergruppe gehört.

    Die Seite Clusterdetails wird geöffnet.

  3. Klicken Sie auf die Verbrauchergruppe, die Sie löschen möchten.
  4. Klicken Sie auf der Seite Details zur Verbrauchergruppe auf Löschen.
  5. Bestätigen Sie den Vorgang.

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. Führen Sie den Befehl gcloud managed-kafka consumer-groups delete aus:

    gcloud managed-kafka consumer-groups delete CONSUMER_GROUP_ID \
        --cluster=CLUSTER_ID \
        --location=LOCATION

    Mit diesem Befehl wird eine Consumer-Gruppe dauerhaft aus Ihrem Managed Service for Apache Kafka-Cluster entfernt.

    Ersetzen Sie Folgendes:

    • CONSUMER_GROUP_ID: Die ID oder der Name der Nutzergruppe.

    • CLUSTER_ID: Die ID oder der Name des Clusters.

    • LOCATION: Der Standort des Clusters.

  3. Go

    import (
    	"context"
    	"fmt"
    	"io"
    
    	"cloud.google.com/go/managedkafka/apiv1/managedkafkapb"
    	"google.golang.org/api/option"
    
    	managedkafka "cloud.google.com/go/managedkafka/apiv1"
    )
    
    func deleteConsumerGroup(w io.Writer, projectID, region, clusterID, consumerGroupID string, opts ...option.ClientOption) error {
    	// projectID := "my-project-id"
    	// region := "us-central1"
    	// clusterID := "my-cluster"
    	// consumerGroupID := "my-consumer-group"
    	ctx := context.Background()
    	client, err := managedkafka.NewClient(ctx, opts...)
    	if err != nil {
    		return fmt.Errorf("managedkafka.NewClient got err: %w", err)
    	}
    	defer client.Close()
    
    	clusterPath := fmt.Sprintf("projects/%s/locations/%s/clusters/%s", projectID, region, clusterID)
    	consumerGroupPath := fmt.Sprintf("%s/consumerGroups/%s", clusterPath, consumerGroupID)
    	req := &managedkafkapb.DeleteConsumerGroupRequest{
    		Name: consumerGroupPath,
    	}
    	if err := client.DeleteConsumerGroup(ctx, req); err != nil {
    		return fmt.Errorf("client.DeleteConsumerGroup got err: %w", err)
    	}
    	fmt.Fprint(w, "Deleted consumer group\n")
    	return nil
    }
    

    Java

    import com.google.api.gax.rpc.ApiException;
    import com.google.cloud.managedkafka.v1.ConsumerGroupName;
    import com.google.cloud.managedkafka.v1.ManagedKafkaClient;
    import java.io.IOException;
    
    public class DeleteConsumerGroup {
    
      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-cluster";
        String consumerGroupId = "my-consumer-group";
        deleteConsumerGroup(projectId, region, clusterId, consumerGroupId);
      }
    
      public static void deleteConsumerGroup(
          String projectId, String region, String clusterId, String consumerGroupId) throws Exception {
        try (ManagedKafkaClient managedKafkaClient = ManagedKafkaClient.create()) {
          // This operation is being handled synchronously.
          managedKafkaClient.deleteConsumerGroup(
              ConsumerGroupName.of(projectId, region, clusterId, consumerGroupId));
          System.out.println("Deleted consumer group");
        } catch (IOException | ApiException e) {
          System.err.printf("managedKafkaClient.getConsumerGroup got err: %s", e.getMessage());
        }
      }
    }
    

    Python

    from google.api_core.exceptions import NotFound
    from google.cloud import managedkafka_v1
    
    # TODO(developer)
    # project_id = "my-project-id"
    # region = "us-central1"
    # cluster_id = "my-cluster"
    # consumer_group_id = "my-consumer-group"
    
    client = managedkafka_v1.ManagedKafkaClient()
    
    consumer_group_path = client.consumer_group_path(
        project_id, region, cluster_id, consumer_group_id
    )
    request = managedkafka_v1.DeleteConsumerGroupRequest(
        name=consumer_group_path,
    )
    
    try:
        client.delete_consumer_group(request=request)
        print("Deleted consumer group")
    except NotFound as e:
        print(f"Failed to delete consumer group {consumer_group_id} with error: {e.message}")
    

Nächste Schritte

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