Enumera tus clústeres de Google Cloud Managed Service para Apache Kafka

Para enumerar tus clústeres, puedes usar la consola de Google Cloud , Google Cloud CLI, la biblioteca cliente o la API de Kafka administrado. No puedes usar la API de Apache Kafka de código abierto para enumerar un clúster.

Roles y permisos obligatorios para enumerar tus clústeres

Para obtener los permisos que necesitas para enumerar tus clústeres, pídele a tu administrador que te otorgue el rol de IAM Visualizador de Kafka administrado (roles/managedkafka.viewer) en tu proyecto. Para obtener más información sobre cómo otorgar roles, consulta Administra el acceso a proyectos, carpetas y organizaciones.

Este rol predefinido contiene los permisos necesarios para enumerar tus clústeres. Para ver los permisos exactos que son necesarios, expande la sección Permisos requeridos:

Permisos necesarios

Se requieren los siguientes permisos para enumerar tus clústeres:

  • Lista de clústeres: managedkafka.clusters.list
  • Obtén detalles del clúster: managedkafka.clusters.get

También puedes obtener estos permisos con roles personalizados o con otros roles predefinidos.

Para obtener más información sobre el rol de visualizador de Kafka administrado, consulta Roles predefinidos de Managed Service para Apache Kafka.

Enumera tus clústeres

Para enumerar todos tus clústeres en un proyecto, sigue estos pasos:

Console

  1. En la consola de Google Cloud , ve a la página Clústeres.

    Ir a los clústeres

  2. Se muestran los clústeres que creaste en un proyecto. En la página, puedes ver las siguientes propiedades del clúster:

    • Nombre del clúster: Es el identificador único de tu clúster de Managed Service para Apache Kafka. Puedes usarlo para hacer referencia al clúster en varias operaciones.
    • Estado del clúster: Indica el estado operativo actual del clúster, como Activo.
    • Región: Es la ubicación geográfica en la que se aloja tu clúster.
    • Memoria: Es la cantidad total de memoria asignada al clúster. Esto determina la capacidad para controlar el tráfico y el almacenamiento de mensajes.
    • vCPU: Es la cantidad de CPU virtuales asignadas al clúster. Esto afecta la potencia de procesamiento del clúster y su capacidad para controlar operaciones simultáneas.
    • Etiquetas: Son pares clave-valor que puedes adjuntar al clúster para fines de organización, filtrado y automatización.

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

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

    Reemplaza lo siguiente:

    • LOCATION: Es la ubicación del clúster.
    • LIMIT: Es la cantidad máxima de clústeres que se pueden incluir en la lista.
  3. REST

    Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:

    • PROJECT_ID: El ID de tu proyecto de Google Cloud
    • LOCATION: Es la ubicación del clúster.

    Método HTTP y URL:

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

    Para enviar tu solicitud, expande una de estas opciones:

    Deberías recibir una respuesta JSON similar a la que se muestra a continuación:

    {
      "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 probar este ejemplo, sigue las instrucciones de configuración de Go en Instala las bibliotecas cliente. Para obtener más información, consulta la documentación de referencia de la API de Managed Service para Apache Kafka en Go.

    Para autenticarte en Managed Service for Apache Kafka, configura las credenciales predeterminadas de la aplicación(ADC). Para obtener más información, consulta Configura ADC para un entorno de desarrollo 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 probar este ejemplo, sigue las instrucciones de configuración de Java en Instala las bibliotecas cliente. Para obtener más información, consulta la documentación de referencia de la API de Java de Managed Service for Apache Kafka.

    Para autenticarte en el servicio administrado para Apache Kafka, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta Configura ADC para un entorno de desarrollo 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 probar este ejemplo, sigue las instrucciones de configuración de Python en Instala las bibliotecas cliente. Si deseas obtener más información, consulta la documentación de referencia de la API de Python de Managed Service for Apache Kafka.

    Para autenticarte en el servicio administrado para Apache Kafka, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta Configura ADC para un entorno de desarrollo 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)
    

Próximos pasos

Apache Kafka® es una marca registrada de The Apache Software Foundation o sus afiliados en Estados Unidos y otros países.