Supprimer un groupe de consommateurs Google Cloud Managed Service pour Apache Kafka

La suppression d'un groupe de consommateurs entraîne la suppression de ce groupe de votre cluster Managed Service pour Apache Kafka.

Pour supprimer un groupe de consommateurs, vous pouvez utiliser la console Google Cloud , la Google Cloud CLI, les bibliothèques clientes, l'API Managed Kafka ou les API Apache Kafka Open Source.

Rôles et autorisations requis pour supprimer un groupe de consommateurs

Pour obtenir les autorisations nécessaires pour supprimer vos groupes de consommateurs, demandez à votre administrateur de vous accorder le rôle IAM Éditeur de groupes de consommateurs Kafka gérés (roles/managedkafka.consumerGroupEditor) sur votre projet. Pour en savoir plus sur l'attribution de rôles, consultez Gérer l'accès aux projets, aux dossiers et aux organisations.

Ce rôle prédéfini contient les autorisations nécessaires pour supprimer vos groupes de consommateurs. Pour connaître les autorisations exactes requises, développez la section Autorisations requises :

Autorisations requises

Les autorisations suivantes sont requises pour supprimer vos groupes de consommateurs :

  • Supprimez les groupes de consommateurs : managedkafka.consumerGroups.delete

Vous pouvez également obtenir ces autorisations avec des rôles personnalisés ou d'autres rôles prédéfinis.

Pour en savoir plus sur le rôle "Éditeur de groupes de consommateurs Kafka gérés", consultez Rôles prédéfinis de Managed Service pour Apache Kafka.

Supprimer un groupe de consommateurs

Lorsque vous supprimez un groupe de consommateurs, les compensations de consommation qu'il stocke sont définitivement perdues. Vous ne pouvez pas non plus consulter les journaux et les métriques des groupes de consommateurs dans la console. Toutefois, les métriques et les journaux associés au groupe de consommateurs sont conservés et accessibles à l'aide de l'explorateur de journaux. La suppression d'un groupe de consommateurs ne supprime pas non plus les messages qu'il a consommés. Les messages restent disponibles dans les thèmes auxquels ils étaient associés à l'origine.

Pour supprimer un groupe de consommateurs, procédez comme suit :

Console

  1. Dans la console Google Cloud , accédez à la page Cluster.

    accéder aux clusters

  2. Dans la liste des clusters, cliquez sur celui auquel appartient le groupe de consommateurs que vous souhaitez supprimer.

    La page Détails du cluster s'ouvre.

  3. Cliquez sur le groupe de consommateurs que vous souhaitez supprimer.
  4. Sur la page Détails du groupe de consommateurs, cliquez sur Supprimer.
  5. Confirmez l'opération.

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. Exécutez la commande gcloud managed-kafka consumer-groups delete :

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

    Cette commande supprime définitivement un groupe de consommateurs de votre cluster Managed Service pour Apache Kafka.

    Remplacez les éléments suivants :

    • CONSUMER_GROUP_ID : ID ou nom du groupe de consommateurs.

    • CLUSTER_ID : ID ou nom du cluster.

    • LOCATION : emplacement du cluster.

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

Étape suivante

Apache Kafka® est une marque déposée d'Apache Software Foundation ou de ses filiales aux États-Unis et/ou dans d'autres pays.