Enumera tus clústeres de Connect

Managed Service para Apache Kafka te permite ver el estado operativo, la asignación de recursos y los detalles de configuración de todos tus clústeres de Connect. Esta vista consolidada te ayuda a administrar tus clústeres de Connect en un solo lugar.

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

Roles y permisos necesarios para enumerar tus clústeres de Connect

Para obtener los permisos que necesitas para enumerar tus clústeres de Connect, pídele a tu administrador que te otorgue el rol de IAM de 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 de Connect. 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 de Connect:

  • Otorga el permiso para enumerar clústeres en la ubicación especificada: managedkafka.connectClusters.list
  • Otorga el permiso para obtener detalles del clúster en la ubicación especificada: managedkafka.connectClusters.get

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

Visualiza tus clústeres de Connect

Console

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

    Ir a Conectar clústeres

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

    • Nombre: Es el identificador único de tu clúster de Connect. Puedes usarlo para hacer referencia al clúster de Connect en varias operaciones.
    • Estado: Indica el estado operativo actual del clúster de Connect, como Activo.
    • Ubicación: Es la ubicación geográfica en la que se aloja tu clúster de Connect.
    • Hora de actualización: Es la hora en la que se actualizó por última vez el clúster de Connect.
    • vCPUs: Es la cantidad de CPUs virtuales asignadas al clúster de Connect.
    • Memoria: Es la cantidad total de memoria asignada al clúster de Connect.
    • Clúster principal de Kafka: Es el clúster de Managed Service para Apache Kafka asociado con el clúster de Connect.
    • Etiquetas: Son pares clave-valor que puedes adjuntar al clúster de Connect con fines de organización, filtrado y automatización.

gcloud

  1. En la consola de Google Cloud , activa Cloud Shell.

    Activa Cloud Shell

    En la parte inferior de la consola de Google Cloud , se inicia una sesión de Cloud Shell en la que se muestra una ventana de línea de comandos. Cloud Shell es un entorno de shell con Google Cloud CLI ya instalada y con valores ya establecidos para el proyecto actual. La sesión puede tardar unos segundos en inicializarse.

  2. Usa el comando gcloud managed-kafka connect-clusters list para enumerar los clústeres de Connect:

    gcloud managed-kafka connect-clusters list \
        --location=LOCATION
    
  3. Para definir mejor la lista de clústeres de Connect, puedes usar marcas adicionales:

    gcloud managed-kafka connect-clusters list \
        --location=LOCATION \
        [--filter=EXPRESSION] \
        [--limit=LIMIT] \
        [--page-size=PAGE_SIZE] \
        [--sort-by=SORT_BY]
    

    Reemplaza lo siguiente:

    • LOCATION: Obligatorio. Es la ubicación de los clústeres de Connect que deseas enumerar.

    • EXPRESSION: Es una expresión de filtro booleano opcional que se aplica a la lista. Si la expresión se evalúa como True, el elemento se incluye en la lista. Para obtener más detalles y ejemplos, ejecuta gcloud topic filters.

    • LIMIT: Es la cantidad máxima de clústeres de Connect que se mostrarán (opcional). Si no se especifica, se enumeran todos los clústeres de Connect.

    • PAGE_SIZE: Es la cantidad de resultados que se mostrarán por página (opcional). Si no se especifica, el servicio determina un tamaño de página adecuado.

    • SORT_BY: Es una lista separada por comas de los campos por los que se ordenará (opcional). El orden de clasificación predeterminado es ascendente. Para ordenar de forma descendente, agrega el prefijo ~ al campo.

Resultado de ejemplo:

NAME                   VCPU  MEMORY_BYTES  STATE   NETWORK
connect-cluster-alpha  3     3221225472    ACTIVE
connect-cluster-beta   3     3221225472    ACTIVE

Go

Antes de probar esta muestra, 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 Go de Managed Service para Apache Kafka.

Para autenticarte en Managed Service para 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 listConnectClusters(w io.Writer, projectID, region string, opts ...option.ClientOption) error {
	// projectID := "my-project-id"
	// region := "us-central1"
	ctx := context.Background()
	client, err := managedkafka.NewManagedKafkaConnectClient(ctx, opts...)
	if err != nil {
		return fmt.Errorf("managedkafka.NewManagedKafkaConnectClient got err: %w", err)
	}
	defer client.Close()

	locationPath := fmt.Sprintf("projects/%s/locations/%s", projectID, region)
	req := &managedkafkapb.ListConnectClustersRequest{
		Parent: locationPath,
	}
	clusterIter := client.ListConnectClusters(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 connect cluster: %v", res)
	}
	return nil
}

Java

Antes de probar esta muestra, 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 para Apache Kafka.

Para autenticarte en Managed Service 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.ConnectCluster;
import com.google.cloud.managedkafka.v1.LocationName;
import com.google.cloud.managedkafka.v1.ManagedKafkaConnectClient;
import java.io.IOException;

public class ListConnectClusters {

  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
    listConnectClusters(projectId, region);
  }

  public static void listConnectClusters(String projectId, String region) throws Exception {
    try (ManagedKafkaConnectClient managedKafkaConnectClient = 
        ManagedKafkaConnectClient.create()) {
      LocationName locationName = LocationName.of(projectId, region);
      // This operation is being handled synchronously.
      for (ConnectCluster connectCluster : managedKafkaConnectClient
          .listConnectClusters(locationName).iterateAll()) {
        System.out.println(connectCluster.getAllFields());
      }
    } catch (IOException | ApiException e) {
      System.err.printf("managedKafkaConnectClient.listConnectClusters got err: %s\n", 
          e.getMessage());
    }
  }
}

Python

Antes de probar este ejemplo, sigue las instrucciones de configuración para Python que encontrarás en Instala las bibliotecas cliente. Para obtener más información, consulta la documentación de referencia de la API de Python de Managed Service para Apache Kafka.

Para autenticarte en Managed Service 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
from google.cloud.managedkafka_v1.services.managed_kafka_connect import (
    ManagedKafkaConnectClient,
)
from google.api_core.exceptions import GoogleAPICallError

# TODO(developer)
# project_id = "my-project-id"
# region = "us-central1"

connect_client = ManagedKafkaConnectClient()

request = managedkafka_v1.ListConnectClustersRequest(
    parent=connect_client.common_location_path(project_id, region),
)

response = connect_client.list_connect_clusters(request=request)
for cluster in response:
    try:
        print("Got Connect cluster:", cluster)
    except GoogleAPICallError as e:
        print(f"Failed to list Connect clusters with error: {e}")

Próximos pasos

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