Lister vos groupes de consommateurs Google Cloud Managed Service pour Apache Kafka

Pour lister vos groupes de consommateurs dans un cluster, vous pouvez utiliser la console Google Cloud , Google Cloud CLI, la bibliothèque cliente, l'API Managed Kafka ou les API Apache Kafka Open Source.

Rôles et autorisations requis pour lister vos groupes de consommateurs

Pour obtenir les autorisations nécessaires pour lister vos groupes de consommateurs, demandez à votre administrateur de vous accorder le rôle IAM Lecteur Kafka géré (roles/managedkafka.viewer) 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 requises pour lister 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 lister vos groupes de consommateurs :

  • Répertoriez les groupes de consommateurs : managedkafka.consumerGroups.list
  • Obtenez les détails d'un groupe de consommateurs : managedkafka.consumerGroups.get

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 "Lecteur Managed Kafka", consultez Rôles prédéfinis de Managed Service pour Apache Kafka.

Lister vos groupes de consommateurs

Pour lister tous vos groupes de consommateurs pour un cluster spécifique, procédez comme suit :

Console

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

    accéder aux clusters

  2. Cliquez sur le cluster pour lequel vous souhaitez afficher les groupes de consommateurs.

    La page des détails du cluster s'affiche. Sur la page des détails du cluster, sous l'onglet Ressources, les groupes de consommateurs sont listés.

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-service-for-apache-kafka consumer-groups list :

    gcloud managed-kafka consumer-groups list CLUSTER_ID \
        --location=LOCATION \
        --limit=LIMIT

    Cette commande liste tous les groupes de consommateurs Managed Service pour Apache Kafka dans un cluster et un emplacement spécifiés.

    Remplacez les éléments suivants :

    • CLUSTER_ID : ID ou nom du cluster.

    • LOCATION : emplacement du cluster.

    • LIMIT : nombre maximal de groupes de consommateurs à lister.

  3. Go

    Avant d'essayer cet exemple, suivez les instructions de configuration pour Go dans Installer les bibliothèques clientes. Pour en savoir plus, consultez la documentation de référence de l'API Managed Service pour Apache Kafka en langage Go.

    Pour vous authentifier auprès de Managed Service pour Apache Kafka, configurez les identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer les ADC pour un environnement de développement local.

    import (
    	"context"
    	"fmt"
    	"io"
    
    	"cloud.google.com/go/managedkafka/apiv1/managedkafkapb"
    	"google.golang.org/api/iterator"
    	"google.golang.org/api/option"
    
    	managedkafka "cloud.google.com/go/managedkafka/apiv1"
    )
    
    func listConsumerGroups(w io.Writer, projectID, region, clusterID string, opts ...option.ClientOption) error {
    	// projectID := "my-project-id"
    	// region := "us-central1"
    	// clusterID := "my-cluster"
    	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)
    	req := &managedkafkapb.ListConsumerGroupsRequest{
    		Parent: clusterPath,
    	}
    	consumerGroupIter := client.ListConsumerGroups(ctx, req)
    	for {
    		res, err := consumerGroupIter.Next()
    		if err == iterator.Done {
    			break
    		}
    		if err != nil {
    			return fmt.Errorf("consumerGroupIter.Next() got err: %w", err)
    		}
    		fmt.Fprintf(w, "Got consumer group: %v", res)
    	}
    	return nil
    }
    

    Java

    Avant d'essayer cet exemple, suivez les instructions de configuration pour Java dans Installer les bibliothèques clientes. Pour en savoir plus, consultez la documentation de référence de l'API Java pour Managed Service pour Apache Kafka.

    Pour vous authentifier auprès de Managed Service pour Apache Kafka, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer les ADC pour un environnement de développement local.

    import com.google.api.gax.rpc.ApiException;
    import com.google.cloud.managedkafka.v1.ClusterName;
    import com.google.cloud.managedkafka.v1.ConsumerGroup;
    import com.google.cloud.managedkafka.v1.ManagedKafkaClient;
    import java.io.IOException;
    
    public class ListConsumerGroups {
    
      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";
        listConsumerGroups(projectId, region, clusterId);
      }
    
      public static void listConsumerGroups(String projectId, String region, String clusterId)
          throws Exception {
        try (ManagedKafkaClient managedKafkaClient = ManagedKafkaClient.create()) {
          ClusterName clusterName = ClusterName.of(projectId, region, clusterId);
          // This operation is being handled synchronously.
          for (ConsumerGroup consumerGroup :
              managedKafkaClient.listConsumerGroups(clusterName).iterateAll()) {
            System.out.println(consumerGroup.getAllFields());
          }
        } catch (IOException | ApiException e) {
          System.err.printf("managedKafkaClient.listConsumerGroups got err: %s", e.getMessage());
        }
      }
    }
    

    Python

    Avant d'essayer cet exemple, suivez les instructions de configuration pour Python dans Installer les bibliothèques clientes. Pour en savoir plus, consultez la documentation de référence de l'API Python Managed Service pour Apache Kafka.

    Pour vous authentifier auprès de Managed Service pour Apache Kafka, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer les ADC pour un environnement de développement local.

    from google.cloud import managedkafka_v1
    
    # TODO(developer)
    # project_id = "my-project-id"
    # region = "us-central1"
    # cluster_id = "my-cluster"
    
    client = managedkafka_v1.ManagedKafkaClient()
    
    request = managedkafka_v1.ListConsumerGroupsRequest(
        parent=client.cluster_path(project_id, region, cluster_id),
    )
    
    response = client.list_consumer_groups(request=request)
    for consumer_group in response:
        print("Got consumer group:", consumer_group)
    

É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.