Listar seus grupos de consumidores do serviço gerenciado do Google Cloud para Apache Kafka

Para listar os grupos de consumidores em um cluster, use o Google Cloud console, a Google Cloud CLI, a biblioteca de cliente, a API Managed Kafka ou as APIs de código aberto do Apache Kafka.

Papéis e permissões necessários para listar os grupos de consumidores

Para receber as permissões necessárias para listar os grupos de consumidores, peça ao administrador para conceder a você o papel do IAM de Leitor do Managed Kafka (roles/managedkafka.viewer) no projeto. Para mais informações sobre a concessão de papéis, consulte Gerenciar o acesso a projetos, pastas e organizações.

Esse papel predefinido contém as permissões necessárias para listar os grupos de consumidores. Para acessar as permissões exatas que são necessárias, expanda a seção Permissões necessárias:

Permissões necessárias

As seguintes permissões são necessárias para listar os grupos de consumidores:

  • Listar grupos de consumidores: managedkafka.consumerGroups.list
  • Receber detalhes do grupo de consumidores: managedkafka.consumerGroups.get

Essas permissões também podem ser concedidas com funções personalizadas ou outros papéis predefinidos.

Para mais informações sobre o papel de Leitor do Managed Kafka, consulte Papéis predefinidos do Serviço Gerenciado para Apache Kafka.

Listar os grupos de consumidores

Para listar todos os grupos de consumidores de um cluster específico, siga estas etapas:

Console

  1. Noconsole, acesse a página Cluster. Google Cloud

    Acessar Clusters

  2. Clique no cluster para conferir os grupos de consumidores.

    A página de detalhes do cluster é exibida. Na página de detalhes do cluster, na guia Recursos, os grupos de consumidores são listados.

gcloud

  1. No Google Cloud console, ative o Cloud Shell.

    Ativar o Cloud Shell

    Na parte de baixo do Google Cloud console, uma sessão do Cloud Shell é iniciada e exibe um prompt de linha de comando. O Cloud Shell é um ambiente shell com a Google Cloud CLI já instalada e com valores já definidos para o projeto atual. A inicialização da sessão pode levar alguns segundos.

  2. Execute o comando gcloud managed-service-for-apache-kafka consumer-groups list:

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

    Esse comando lista todos os grupos de consumidores do Serviço Gerenciado para Apache Kafka em um cluster e local especificados.

    Substitua:

    • CLUSTER_ID: o ID ou nome do cluster.

    • LOCATION: o local do cluster.

    • LIMIT: o número máximo de grupos de consumidores a serem listados.

Go

Antes de testar esta amostra, siga as instruções de configuração para Go em Instalar as bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API do Serviço Gerenciado para Apache Kafka Go.

Para autenticar o Serviço Gerenciado para Apache Kafka, configure o Application Default Credentials(ADC). Para mais informações, consulte Configurar o ADC para um ambiente de desenvolvimento 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

Antes de testar esta amostra, siga as instruções de configuração para Java em Instalar as bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API do Serviço Gerenciado para Apache Kafka Java.

Para autenticar o Serviço Gerenciado para Apache Kafka, configure o Application Default Credentials. Para mais informações, consulte Configurar o ADC para um ambiente de desenvolvimento 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

Antes de testar esta amostra, siga as instruções de configuração para Python em Instalar as bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API Serviço Gerenciado para Apache Kafka Python.

Para autenticar o Serviço Gerenciado para Apache Kafka, configure o Application Default Credentials. Para mais informações, consulte Configurar o ADC para um ambiente de desenvolvimento 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)

A seguir

Apache Kafka® é uma marca registrada da The Apache Software Foundation ou afiliadas nos Estados Unidos e/ou em outros países.