Excluir um conector

A exclusão de um conector o remove permanentemente do cluster do Connect. Essa ação interrompe o fluxo de dados entre os sistemas de origem e destino. Entenda as implicações para seu pipeline de dados antes de excluir um conector.

Para excluir um conector 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 de código aberto do Apache Kafka para excluir conectores.

Papéis e permissões necessários para excluir um conector

Para receber as permissões necessárias para excluir um conector, peça ao administrador para conceder a você o papel do IAM de Editor de conector gerenciado do Kafka (roles/managedkafka.connectorEditor) no projeto que contém o cluster do Connect. 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 excluir um conector. 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 excluir um conector:

  • Conceda a permissão para excluir o conector solicitado: managedkafka.connectors.delete
  • Conceda a permissão para listar conectores no cluster do Connect que contém o conector. Isso é necessário apenas para exclusão do console: managedkafka.connectors.list

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

Excluir um conector

Console

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

    Acessar "Conectar clusters"

  2. Clique no cluster do Connect que hospeda o conector que você quer excluir.

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

  3. Na guia Recursos, encontre o conector na lista e clique no nome dele.

    Você será redirecionado para a página Detalhes do conector.

  4. Clique em Excluir.

gcloud

  1. No console do Google Cloud , ative o Cloud Shell.

    Ativar o Cloud Shell

    Na parte de baixo do console Google Cloud , uma sessão do Cloud Shell é iniciada e exibe um prompt de linha de comando. O Cloud Shell é um ambiente shell com a CLI do Google Cloud já instalada e com valores já definidos para o projeto atual. A inicialização da sessão pode levar alguns segundos.

  2. Use o comando gcloud managed-kafka connectors delete para excluir um conector:

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

    Substitua:

    • CONNECTOR_ID: obrigatório. O ID do conector que você quer excluir.
    • LOCATION: obrigatório. O local do cluster do Connect que contém o conector.
    • CONNECT_CLUSTER_ID: obrigatório. O ID do cluster do Connect que contém o conector.

    Exemplo de comando:

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

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 Serviço Gerenciado 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/option"

	managedkafka "cloud.google.com/go/managedkafka/apiv1"
)

func deleteConnector(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.DeleteConnectorRequest{
		Name: connectorPath,
	}
	err = client.DeleteConnector(ctx, req)
	if err != nil {
		return fmt.Errorf("client.DeleteConnector got err: %w", err)
	}
	fmt.Fprint(w, "Deleted connector\n")
	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 no 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.ConnectorName;
import com.google.cloud.managedkafka.v1.ManagedKafkaConnectClient;
import java.io.IOException;

public class DeleteConnector {

  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";
    deleteConnector(projectId, region, clusterId, connectorId);
  }

  public static void deleteConnector(
      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.
      managedKafkaConnectClient.deleteConnector(name);
      System.out.printf("Deleted connector: %s\n", name);
    } catch (IOException | ApiException e) {
      System.err.printf("managedKafkaConnectClient.deleteConnector 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 no 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.api_core.exceptions import GoogleAPICallError
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()

request = managedkafka_v1.DeleteConnectorRequest(
    name=connect_client.connector_path(project_id, region, connect_cluster_id, connector_id),
)

try:
    operation = connect_client.delete_connector(request=request)
    print(f"Waiting for operation {operation.operation.name} to complete...")
    operation.result()
    print("Deleted connector")
except GoogleAPICallError as e:
    print(f"The operation failed with error: {e}")

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