Listar seus clusters do serviço gerenciado do Google Cloud para Apache Kafka

Para listar seus clusters, use o console Google Cloud , a Google Cloud CLI, a biblioteca de cliente ou a API Managed Kafka. Não é possível usar a API Apache Kafka de código aberto para listar um cluster.

Funções e permissões necessárias para listar seus clusters

Para receber as permissões necessárias para listar seus clusters, peça ao administrador para conceder a você o papel do IAM de Leitor do Kafka gerenciado (roles/managedkafka.viewer) no seu 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 seus clusters. Para acessar as permissões exatas necessárias, expanda a seção Permissões necessárias:

Permissões necessárias

As seguintes permissões são necessárias para listar seus clusters:

  • Listar clusters: managedkafka.clusters.list
  • Receber detalhes do cluster: managedkafka.clusters.get

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

Para mais informações sobre a função de leitor do Kafka gerenciado, consulte Funções predefinidas do serviço gerenciado para Apache Kafka.

Listar seus clusters

Para listar todos os clusters em um projeto, siga estas etapas:

Console

  1. No Google Cloud console, acesse a página Clusters.

    Acessar Clusters

  2. Os clusters criados em um projeto são listados. Na página, é possível conferir as seguintes propriedades do cluster:

    • Nome do cluster: o identificador exclusivo do seu cluster do Serviço gerenciado para Apache Kafka. É possível usar esse ID para referenciar o cluster em várias operações.
    • Estado do cluster: indica o status operacional atual do cluster, como Ativo.
    • Região: o local geográfico em que o cluster está hospedado.
    • Memória: a quantidade total de memória alocada para o cluster. Isso determina a capacidade de processamento e armazenamento de mensagens.
    • vCPU: o número de vCPUs atribuídas ao cluster. Isso afeta a capacidade de processamento e a capacidade do cluster de lidar com operações simultâneas.
    • Rótulos: pares de chave-valor que podem ser anexados ao cluster para fins de organização, filtragem e automação.

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. Execute o comando gcloud managed-service-for-apache-kafka clusters list:

    gcloud managed-kafka clusters list --location=LOCATION \
        --limit=LIMIT
    

    Substitua:

    • LOCATION: o local do cluster.
    • LIMIT: o número máximo de clusters a serem listados.
  3. REST

    Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:

    • PROJECT_ID: o ID do projeto do Google Cloud
    • LOCATION: o local do cluster

    Método HTTP e URL:

    GET https://managedkafka.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/clusters

    Para enviar a solicitação, expanda uma destas opções:

    Você receberá uma resposta JSON semelhante a esta:

    {
      "clusters": [
        {
          "name": "projects/PROJECT_ID/locations/LOCATION/clusters/CLUSTER_ID",
          "createTime": "CREATE_TIME",
          "updateTime": "UPDATE_TIME",
          "capacityConfig": {
            "vcpuCount": "CPU_COUNT",
            "memoryBytes": "MEMORY"
          },
          "rebalanceConfig": {},
          "gcpConfig": {
            "accessConfig": {
              "networkConfigs": [
                {
                  "subnet": "projects/PROJECT_ID/locations/LOCATION/subnetworks/SUBNET_ID"
                }
              ]
            }
          },
          "state": "ACTIVE",
          "satisfiesPzi": false,
          "satisfiesPzs": false,
          "tlsConfig": {
            "trustConfig": {}
          },
          "updateOptions": {}
        }
      ]
    }
    

    Go

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

    Para autenticar o Managed Service 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 listClusters(w io.Writer, projectID, region string, opts ...option.ClientOption) error {
    	// projectID := "my-project-id"
    	// region := "us-central1"
    	ctx := context.Background()
    	client, err := managedkafka.NewClient(ctx, opts...)
    	if err != nil {
    		return fmt.Errorf("managedkafka.NewClient got err: %w", err)
    	}
    	defer client.Close()
    
    	locationPath := fmt.Sprintf("projects/%s/locations/%s", projectID, region)
    	req := &managedkafkapb.ListClustersRequest{
    		Parent: locationPath,
    	}
    	clusterIter := client.ListClusters(ctx, req)
    	for {
    		res, err := clusterIter.Next()
    		if err == iterator.Done {
    			break
    		}
    		if err != nil {
    			return fmt.Errorf("clusterIter.Next() got err: %w", err)
    		}
    		fmt.Fprintf(w, "Got cluster: %v", res)
    	}
    	return nil
    }
    

    Java

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

    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.Cluster;
    import com.google.cloud.managedkafka.v1.LocationName;
    import com.google.cloud.managedkafka.v1.ManagedKafkaClient;
    import java.io.IOException;
    
    public class ListClusters {
    
      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
        listClusters(projectId, region);
      }
    
      public static void listClusters(String projectId, String region) throws Exception {
        try (ManagedKafkaClient managedKafkaClient = ManagedKafkaClient.create()) {
          LocationName locationName = LocationName.of(projectId, region);
          // This operation is being handled synchronously.
          for (Cluster cluster : managedKafkaClient.listClusters(locationName).iterateAll()) {
            System.out.println(cluster.getAllFields());
          }
        } catch (IOException | ApiException e) {
          System.err.printf("managedKafkaClient.listClusters got err: %s", e.getMessage());
        }
      }
    }
    

    Python

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

    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"
    
    client = managedkafka_v1.ManagedKafkaClient()
    
    request = managedkafka_v1.ListClustersRequest(
        parent=client.common_location_path(project_id, region),
    )
    
    response = client.list_clusters(request=request)
    for cluster in response:
        print("Got cluster:", cluster)
    

A seguir

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