Listar todos os conectores

Listar todos os conectores em execução em um cluster do Connect fornece uma visão geral das integrações de dados configuradas. Você pode monitorar a integridade e o status dos seus conectores, identificar possíveis problemas e gerenciar seus fluxos de dados de maneira eficaz.

Para listar todos os conectores em um cluster do Connect, use o console Google Cloud , a CLI gcloud, a biblioteca de cliente do Serviço gerenciado para Apache Kafka ou a API Managed Kafka. Não é possível usar a API Apache Kafka de código aberto para listar os conectores.

Papéis e permissões necessários para listar todos os conectores

Para receber as permissões necessárias para listar todos os conectores, 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 todos os conectores. 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 todos os conectores:

  • Conceda a permissão "list connectors" no cluster pai do Connect: managedkafka.connectors.list
  • Conceda a permissão para receber detalhes do conector no cluster pai do Connect: managedkafka.connectors.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.

Ver todos os conectores

Essa visualização oferece uma maneira rápida de monitorar o status dos seus conectores e identificar aqueles que precisam de atenção. Em seguida, é possível detalhar os conectores individuais para ver os detalhes e as configurações, se necessário.

Console

  1. No console do Google Cloud , acesse a página Conectar clusters.

    Acessar o Connect Clusters

  2. Clique no cluster do Connect em que você quer listar os conectores.

    A página Detalhes do cluster de conexão é exibida.

  3. A guia Recursos mostra uma lista de todos os conectores em execução no cluster. A lista inclui as seguintes informações para cada conector:

    • Nome: o nome do conector.
    • Estado: o estado operacional do conector. Por exemplo, "Em execução" ou "Falha".
    • Tipo de conector: o tipo de plug-in de conector.

    Use a opção Filtrar para pesquisar conectores específicos por nome.

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. Use o comando gcloud managed-kafka connectors list para listar conectores:

    gcloud managed-kafka connectors list CONNECT_CLUSTER_ID \
        --location=LOCATION
    
  3. Para refinar ainda mais a lista de conectores, use outras flags:

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

    Substitua:

    • CONNECT_CLUSTER_ID: obrigatório. O ID do cluster do Connect que contém os conectores que você quer listar.
    • LOCATION: obrigatório. O local do Conectar cluster que contém os conectores que você quer listar.
    • EXPRESSION: (opcional) uma expressão de filtro booleano a ser aplicada à lista. Se a expressão for avaliada como True, o item será incluído na lista. Para mais detalhes e exemplos, execute gcloud topic filters.

      Exemplos:

      • Para listar apenas os conectores no estado "EM EXECUÇÃO":

        --filter="state=RUNNING"
        
      • Para listar apenas conectores "Coletor do Pub/Sub":

        --filter="connector_plugin='Pub/Sub Sink'"
        
      • Para listar conectores com um nome que contenha "prod":

        --filter="name ~ 'prod'"
        
      • Para listar conectores com falha ou que são plug-ins "Origem do Pub/Sub":

        --filter="state=FAILED OR connector_plugin='Pub/Sub Source'"
        
    • LIMIT: (opcional) o número máximo de conectores a serem mostrados. Se não for especificado, todos os conectores serão listados.

    • PAGE_SIZE: (opcional) o número de resultados a serem exibidos por página. Se não for especificado, o serviço vai determinar um tamanho de página adequado.

    • SORT_BY: (opcional) uma lista separada por vírgulas de campos para usar na ordenação. A ordem de classificação padrão é crescente. Para classificar em ordem decrescente, adicione o prefixo ~ ao campo. Os campos aceitos provavelmente são name e state.

  4. Exemplo de comando com classificação:

    gcloud managed-kafka connectors list test-connect-cluster \
        --location=us-central1 \
        --sort-by=~state,name
    

    Exemplo de comando com filtragem e limitação:

    gcloud managed-kafka connectors list test-connect-cluster \
        --location=us-central1 \
        --filter="state=RUNNING AND connector_plugin='Pub/Sub Sink'" \
        --limit=5
    

    Exemplo de saída:

    NAME                                    STATE     CONNECTOR_PLUGIN
    pubsub-sink-connector                   RUNNING   Pub/Sub Sink
    another-pubsub-sink                     RUNNING   Pub/Sub Sink
    prod-pubsub-sink                        RUNNING   Pub/Sub Sink
    

    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 listConnectors(w io.Writer, projectID, region, connectClusterID string, opts ...option.ClientOption) error {
    	// projectID := "my-project-id"
    	// region := "us-central1"
    	// connectClusterID := "my-connect-cluster"
    	ctx := context.Background()
    	client, err := managedkafka.NewManagedKafkaConnectClient(ctx, opts...)
    	if err != nil {
    		return fmt.Errorf("managedkafka.NewManagedKafkaConnectClient got err: %w", err)
    	}
    	defer client.Close()
    
    	parent := fmt.Sprintf("projects/%s/locations/%s/connectClusters/%s", projectID, region, connectClusterID)
    	req := &managedkafkapb.ListConnectorsRequest{
    		Parent: parent,
    	}
    	connectorIter := client.ListConnectors(ctx, req)
    	for {
    		connector, err := connectorIter.Next()
    		if err == iterator.Done {
    			break
    		}
    		if err != nil {
    			return fmt.Errorf("connectorIter.Next() got err: %w", err)
    		}
    		fmt.Fprintf(w, "Got connector: %v", connector)
    	}
    	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.ConnectClusterName;
    import com.google.cloud.managedkafka.v1.Connector;
    import com.google.cloud.managedkafka.v1.ManagedKafkaConnectClient;
    import java.io.IOException;
    
    public class ListConnectors {
    
      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";
        listConnectors(projectId, region, clusterId);
      }
    
      public static void listConnectors(String projectId, String region, String clusterId)
          throws IOException {
        try (ManagedKafkaConnectClient managedKafkaConnectClient = ManagedKafkaConnectClient.create()) {
          ConnectClusterName parent = ConnectClusterName.of(projectId, region, clusterId);
          // This operation is handled synchronously.
          for (Connector connector : managedKafkaConnectClient.listConnectors(parent).iterateAll()) {
            System.out.println(connector.getAllFields());
          }
        } catch (IOException | ApiException e) {
          System.err.printf("managedKafkaConnectClient.listConnectors got err: %s\n", 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
    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_cluster_id = "my-connect-cluster"
    
    connect_client = ManagedKafkaConnectClient()
    
    request = managedkafka_v1.ListConnectorsRequest(
        parent=connect_client.connect_cluster_path(project_id, region, connect_cluster_id),
    )
    
    try:
        response = connect_client.list_connectors(request=request)
        for connector in response:
            print("Got connector:", connector)
    except GoogleAPICallError as e:
        print(f"Failed to list connectors with error: {e}")
    

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