Cómo ver un conector

Ver los detalles de un conector te permite inspeccionar su configuración, estado operativo, política de reinicio de tareas y supervisar sus métricas de rendimiento.

Para ver los detalles de un conector en un clúster de Connect, puedes usar la consola de Google Cloud , gcloud CLI, la biblioteca cliente de Managed Service for Apache Kafka o la API de Managed Kafka. No puedes usar la API de Apache Kafka de código abierto para ver los conectores.

Roles y permisos obligatorios para ver un conector

Para obtener los permisos que necesitas para ver un conector, 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 ver un conector. Para ver los permisos exactos que son necesarios, expande la sección Permisos requeridos:

Permisos necesarios

Se requieren los siguientes permisos para ver un conector:

  • Otorga el permiso de conectores de lista en el clúster principal de Connect: managedkafka.connectors.list
  • Otorga el permiso para obtener detalles del conector en el clúster de Connect principal: managedkafka.connectors.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.

Ver detalles del conector

Console

  1. En la consola de Google Cloud , ve a la página Connect Clusters.

    Ir a Connect Clusters

  2. Haz clic en el clúster de Connect que aloja el conector que deseas ver.

    Se muestra la página Detalles de conexión del clúster.

  3. En la pestaña Resources, busca el conector en la lista y haz clic en su nombre. Se te redireccionará a la página Detalles del conector.

  4. En la página Detalles del conector, se muestran las siguientes pestañas:

    • Configuración: Muestra la configuración del conector, incluidos los siguientes elementos:
      • Nombre: Es el nombre del conector.
      • Estado: Es el estado operativo del conector. Por ejemplo, Running.
      • Política de reinicio de tareas: Es la política para reiniciar las tareas con errores. Por ejemplo, si se deben reiniciar las tareas con errores o no, y con qué configuración de espera exponencial.
      • Propiedades de configuración: Es una lista de pares clave-valor que definen la configuración del conector.
    • Monitoring: Proporciona gráficos para supervisar el conector, como los siguientes:
      • Cantidad de errores de tareas: Es la cantidad de tareas que tuvieron errores.
      • Recuento de tareas activas: Es la cantidad de tareas que están activas actualmente.

    En esta página, también se incluyen botones para editar, borrar, pausar, detener y reiniciar el conector.

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. Usa el comando gcloud managed-kafka connectors describe para describir un conector:

    gcloud managed-kafka connectors describe CONNECTOR_ID \
        --location=LOCATION \
        --connect-cluster=CONNECT_CLUSTER_ID
    

    Reemplaza lo siguiente:

    • CONNECTOR_ID: Obligatorio. ID del conector que deseas describir.
    • LOCATION: Obligatorio. Ubicación del clúster de Connect que contiene el conector.
    • CONNECT_CLUSTER_ID: Obligatorio. ID del clúster de Connect que contiene el conector.
  3. Comando de ejemplo:

    gcloud managed-kafka connectors describe test-connector \
      --location=us-central1 \
      --connect-cluster=test-connect-cluster
    

    Resultado de ejemplo:

    config:
      connector.class: com.google.cloud.kafka.connect.pubsub.PubsubSinkConnector
      kafka.topic.regex: .*
      key.converter: org.apache.kafka.connect.storage.StringConverter
      project: test-project
      tasks.max: '1'
      topic: test-pubsub-topic
      value.converter: org.apache.kafka.connect.json.JsonConverter
      value.converter.schemas.enable: 'false'
    createTime: '2024-03-13T05:17:34.123456Z'
    labels:
      test-label-key: test-label-value
    name: projects/test-project/locations/us-central1/connectClusters/test-connect-cluster/connectors/test-connector
    state: RUNNING
    taskRestartPolicy: RESTART_WITH_EXPONENTIAL_BACKOFF
    updateTime: '2024-03-13T05:18:15.987654Z'
    

    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/option"
    
    	managedkafka "cloud.google.com/go/managedkafka/apiv1"
    )
    
    func getConnector(w io.Writer, projectID, region, connectClusterID, connectorID string, opts ...option.ClientOption) error {
    	// projectID := "my-project-id"
    	// region := "us-central1"
    	// connectClusterID := "my-connect-cluster"
    	// connectorID := "my-connector"
    	ctx := context.Background()
    	client, err := managedkafka.NewManagedKafkaConnectClient(ctx, opts...)
    	if err != nil {
    		return fmt.Errorf("managedkafka.NewManagedKafkaConnectClient got err: %w", err)
    	}
    	defer client.Close()
    
    	connectorPath := fmt.Sprintf("projects/%s/locations/%s/connectClusters/%s/connectors/%s", projectID, region, connectClusterID, connectorID)
    	req := &managedkafkapb.GetConnectorRequest{
    		Name: connectorPath,
    	}
    	connector, err := client.GetConnector(ctx, req)
    	if err != nil {
    		return fmt.Errorf("client.GetConnector got err: %w", err)
    	}
    	fmt.Fprintf(w, "Got connector: %#v\n", connector)
    	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.Connector;
    import com.google.cloud.managedkafka.v1.ConnectorName;
    import com.google.cloud.managedkafka.v1.ManagedKafkaConnectClient;
    import java.io.IOException;
    
    public class GetConnector {
    
      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-connect-cluster";
        String connectorId = "my-connector";
        getConnector(projectId, region, clusterId, connectorId);
      }
    
      public static void getConnector(
          String projectId, String region, String clusterId, String connectorId) throws IOException {
        try (ManagedKafkaConnectClient managedKafkaConnectClient = ManagedKafkaConnectClient.create()) {
          ConnectorName name = ConnectorName.of(projectId, region, clusterId, connectorId);
          // This operation is handled synchronously.
          Connector connector = managedKafkaConnectClient.getConnector(name);
          System.out.println(connector.getAllFields());
        } catch (IOException | ApiException e) {
          System.err.printf("managedKafkaConnectClient.getConnector got err: %s\n", 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.api_core.exceptions import NotFound
    from google.cloud.managedkafka_v1.services.managed_kafka_connect import ManagedKafkaConnectClient
    from google.cloud import managedkafka_v1
    
    # TODO(developer)
    # project_id = "my-project-id"
    # region = "us-central1"
    # connect_cluster_id = "my-connect-cluster"
    # connector_id = "my-connector"
    
    connect_client = ManagedKafkaConnectClient()
    
    connector_path = connect_client.connector_path(
        project_id, region, connect_cluster_id, connector_id
    )
    request = managedkafka_v1.GetConnectorRequest(
        name=connector_path,
    )
    
    try:
        connector = connect_client.get_connector(request=request)
        print("Got connector:", connector)
    except NotFound as e:
        print(f"Failed to get connector {connector_id} with error: {e}")
    

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