Pausar, retomar, parar e reiniciar um conector

É possível controlar a operação de um conector pausando, retomando, interrompendo ou reiniciando. Essas ações permitem gerenciar o fluxo de dados e resolver problemas sem excluir e recriar o conector.

Para pausar, retomar, interromper ou reiniciar 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 mudar os estados do conector.

Funções e permissões necessárias para pausar, retomar, parar ou reiniciar um conector

Para receber as permissões necessárias para pausar, retomar, interromper ou reiniciar um conector, peça ao administrador para conceder a você o papel do IAM Editor do 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 pausar, retomar, interromper ou reiniciar 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 pausar, retomar, interromper ou reiniciar um conector:

  • Conceda a permissão de pausa do conector no conector solicitado: managedkafka.connectors.pause
  • Conceda a permissão de conector de currículo no conector solicitado: managedkafka.connectors.resume
  • Conceda a permissão de reinicialização do conector no conector solicitado: managedkafka.connectors.restart
  • Conceda a permissão de parada no conector solicitado: managedkafka.connectors.stop

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 editor do conector gerenciado do Kafka, consulte Funções predefinidas do Serviço Gerenciado para Apache Kafka.

Pausar um conector

Quando você pausa um conector, o estado dele é preservado. Isso significa que o conector lembra de onde parou no processamento de mensagens ou dados. O processamento de mensagens é interrompido até que o conector seja retomado. É possível retomar um conector pausado, e ele continua de onde parou. Isso é útil para solucionar problemas ou realizar manutenção sem perder a configuração do conector.

Console

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

    Acessar o Connect Clusters

  2. Clique no cluster de conexão que hospeda o conector que você quer pausar.

    A página Detalhes do cluster de conexão é 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 Pausar.

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 pause para pausar um conector:

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

    Substitua:

    • CONNECTOR_ID: obrigatório. O ID do conector que você quer pausar.
    • 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.
  3. Go

    Antes de testar este exemplo, 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/option"
    
    	managedkafka "cloud.google.com/go/managedkafka/apiv1"
    )
    
    func pauseConnector(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.PauseConnectorRequest{
    		Name: connectorPath,
    	}
    	resp, err := client.PauseConnector(ctx, req)
    	if err != nil {
    		return fmt.Errorf("client.PauseConnector got err: %w", err)
    	}
    	fmt.Fprintf(w, "Paused connector: %#v\n", resp)
    	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.ConnectorName;
    import com.google.cloud.managedkafka.v1.ManagedKafkaConnectClient;
    import com.google.cloud.managedkafka.v1.PauseConnectorRequest;
    import java.io.IOException;
    
    public class PauseConnector {
    
      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 connectClusterId = "my-connect-cluster";
        String connectorId = "my-connector";
        pauseConnector(projectId, region, connectClusterId, connectorId);
      }
    
      public static void pauseConnector(
          String projectId, String region, String connectClusterId, String connectorId)
          throws Exception {
        try (ManagedKafkaConnectClient managedKafkaConnectClient = 
            ManagedKafkaConnectClient.create()) {
          ConnectorName connectorName = ConnectorName.of(projectId, region, connectClusterId, 
              connectorId);
          PauseConnectorRequest request = PauseConnectorRequest.newBuilder()
              .setName(connectorName.toString()).build();
    
          // This operation is being handled synchronously.
          managedKafkaConnectClient.pauseConnector(request);
          System.out.printf("Connector %s paused successfully.\n", connectorId);
        } catch (IOException | ApiException e) {
          System.err.printf("managedKafkaConnectClient.pauseConnector 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.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.PauseConnectorRequest(
        name=connect_client.connector_path(project_id, region, connect_cluster_id, connector_id),
    )
    
    try:
        operation = connect_client.pause_connector(request=request)
        print(f"Waiting for operation {operation.operation.name} to complete...")
        operation.result()
        print(f"Paused connector {connector_id}")
    except GoogleAPICallError as e:
        print(f"Failed to pause connector {connector_id} with error: {e}")
    

Retomar um conector

A retomada de um conector pausado reinicia a operação de onde ela parou.

Console

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

    Acessar o Connect Clusters

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

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

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

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

  4. Clique em Retomar.

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 resume para retomar um conector:

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

    Substitua:

    • CONNECTOR_ID: obrigatório. O ID do conector que você quer retomar.
    • 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.
  3. Go

    Antes de testar este exemplo, 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/option"
    
    	managedkafka "cloud.google.com/go/managedkafka/apiv1"
    )
    
    func resumeConnector(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.ResumeConnectorRequest{
    		Name: connectorPath,
    	}
    	resp, err := client.ResumeConnector(ctx, req)
    	if err != nil {
    		return fmt.Errorf("client.ResumeConnector got err: %w", err)
    	}
    	fmt.Fprintf(w, "Resumed connector: %#v\n", resp)
    	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.ConnectorName;
    import com.google.cloud.managedkafka.v1.ManagedKafkaConnectClient;
    import com.google.cloud.managedkafka.v1.ResumeConnectorRequest;
    import java.io.IOException;
    
    public class ResumeConnector {
    
      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 connectClusterId = "my-connect-cluster";
        String connectorId = "my-connector";
        resumeConnector(projectId, region, connectClusterId, connectorId);
      }
    
      public static void resumeConnector(
          String projectId, String region, String connectClusterId, String connectorId)
          throws Exception {
        try (ManagedKafkaConnectClient managedKafkaConnectClient = 
            ManagedKafkaConnectClient.create()) {
          ConnectorName connectorName = ConnectorName.of(projectId, region, connectClusterId, 
              connectorId);
          ResumeConnectorRequest request = ResumeConnectorRequest.newBuilder()
              .setName(connectorName.toString()).build();
    
          // This operation is being handled synchronously.
          managedKafkaConnectClient.resumeConnector(request);
          System.out.printf("Connector %s resumed successfully.\n", connectorId);
        } catch (IOException | ApiException e) {
          System.err.printf("managedKafkaConnectClient.resumeConnector 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.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.ResumeConnectorRequest(
        name=connect_client.connector_path(project_id, region, connect_cluster_id, connector_id),
    )
    
    try:
        operation = connect_client.resume_connector(request=request)
        print(f"Waiting for operation {operation.operation.name} to complete...")
        operation.result()
        print(f"Resumed connector {connector_id}")
    except GoogleAPICallError as e:
        print(f"Failed to resume connector {connector_id} with error: {e}")
    

Parar um conector

A interrupção de um conector interrompe todas as tarefas dele. Interromper um conector preserva o estado dele. Para que o conector volte a funcionar, reinicie-o. Os registros e as métricas também são armazenados de maneira durável.

Console

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

    Acessar o Connect Clusters

  2. Clique no cluster de conexão que hospeda o conector que você quer interromper.

    A página Detalhes do cluster de conexão é 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 Interromper.

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 stop para interromper um conector:

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

    Substitua:

    • CONNECTOR_ID: obrigatório. O ID do conector que você quer interromper.
    • 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.
  3. Go

    Antes de testar este exemplo, 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/option"
    
    	managedkafka "cloud.google.com/go/managedkafka/apiv1"
    )
    
    func stopConnector(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.StopConnectorRequest{
    		Name: connectorPath,
    	}
    	resp, err := client.StopConnector(ctx, req)
    	if err != nil {
    		return fmt.Errorf("client.StopConnector got err: %w", err)
    	}
    	fmt.Fprintf(w, "Stopped connector: %#v\n", resp)
    	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.ConnectorName;
    import com.google.cloud.managedkafka.v1.ManagedKafkaConnectClient;
    import com.google.cloud.managedkafka.v1.StopConnectorRequest;
    import java.io.IOException;
    
    public class StopConnector {
    
      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 connectClusterId = "my-connect-cluster";
        String connectorId = "my-connector";
        stopConnector(projectId, region, connectClusterId, connectorId);
      }
    
      public static void stopConnector(
          String projectId, String region, String connectClusterId, String connectorId)
          throws Exception {
        try (ManagedKafkaConnectClient managedKafkaConnectClient = 
            ManagedKafkaConnectClient.create()) {
          ConnectorName connectorName = ConnectorName.of(projectId, region, connectClusterId, 
              connectorId);
          StopConnectorRequest request = StopConnectorRequest.newBuilder()
              .setName(connectorName.toString()).build();
    
          // This operation is being handled synchronously.
          managedKafkaConnectClient.stopConnector(request);
          System.out.printf("Connector %s stopped successfully.\n", connectorId);
        } catch (IOException | ApiException e) {
          System.err.printf("managedKafkaConnectClient.stopConnector 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.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.StopConnectorRequest(
        name=connect_client.connector_path(project_id, region, connect_cluster_id, connector_id),
    )
    
    try:
        operation = connect_client.stop_connector(request=request)
        print(f"Waiting for operation {operation.operation.name} to complete...")
        operation.result()
        print(f"Stopped connector {connector_id}")
    except GoogleAPICallError as e:
        print(f"Failed to stop connector {connector_id} with error: {e}")
    

Reiniciar um conector

Reiniciar um conector interrompe e reinicia completamente as tarefas dele. Isso pode ser útil para atualizar o estado do conector ou aplicar mudanças de configuração.

Observação:reiniciar um conector pode causar uma breve interrupção no fluxo de dados.

Console

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

    Acessar o Connect Clusters

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

    A página Detalhes do cluster de conexão é 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 Reiniciar.

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 restart para reiniciar um conector:

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

    Substitua:

    • CONNECTOR_ID: obrigatório. O ID do conector que você quer reiniciar.
    • 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.
  3. Go

    Antes de testar este exemplo, 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/option"
    
    	managedkafka "cloud.google.com/go/managedkafka/apiv1"
    )
    
    func restartConnector(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.RestartConnectorRequest{
    		Name: connectorPath,
    	}
    	resp, err := client.RestartConnector(ctx, req)
    	if err != nil {
    		return fmt.Errorf("client.RestartConnector got err: %w", err)
    	}
    	fmt.Fprintf(w, "Restarted connector: %#v\n", resp)
    	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.ConnectorName;
    import com.google.cloud.managedkafka.v1.ManagedKafkaConnectClient;
    import com.google.cloud.managedkafka.v1.RestartConnectorRequest;
    import java.io.IOException;
    
    public class RestartConnector {
    
      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 connectClusterId = "my-connect-cluster";
        String connectorId = "my-connector";
        restartConnector(projectId, region, connectClusterId, connectorId);
      }
    
      public static void restartConnector(
          String projectId, String region, String connectClusterId, String connectorId)
          throws Exception {
        try (ManagedKafkaConnectClient managedKafkaConnectClient = 
            ManagedKafkaConnectClient.create()) {
          ConnectorName connectorName = ConnectorName.of(projectId, region, connectClusterId, 
              connectorId);
          RestartConnectorRequest request = RestartConnectorRequest.newBuilder()
              .setName(connectorName.toString()).build();
    
          // This operation is being handled synchronously.
          managedKafkaConnectClient.restartConnector(request);
          System.out.printf("Connector %s restarted successfully.\n", connectorId);
        } catch (IOException | ApiException e) {
          System.err.printf("managedKafkaConnectClient.restartConnector 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.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.RestartConnectorRequest(
        name=connect_client.connector_path(project_id, region, connect_cluster_id, connector_id),
    )
    
    try:
        operation = connect_client.restart_connector(request=request)
        print(f"Waiting for operation {operation.operation.name} to complete...")
        operation.result()
        print(f"Restarted connector {connector_id}")
    except GoogleAPICallError as e:
        print(f"Failed to restart connector {connector_id} with error: {e}")
    

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