Borra un grupo de consumidores de Google Cloud Managed Service para Apache Kafka

Borrar un grupo de consumidores quita un grupo de consumidores de tu clúster de Managed Service para Apache Kafka.

Para borrar un grupo de consumidores, puedes usar la Google Cloud consola, Google Cloud CLI, las bibliotecas cliente, la API de Managed Kafka o las APIs de Apache Kafka de código abierto.

Roles y permisos obligatorios para borrar un grupo de consumidores

Si deseas obtener los permisos necesarios para borrar tus grupos de consumidores, pídele a tu administrador que te otorgue el rol de IAM de Editor de grupos de consumidores de Kafka administrado (roles/managedkafka.consumerGroupEditor) 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 borrar tus grupos de consumidores. Para ver los permisos exactos que son necesarios, expande la sección Permisos requeridos:

Permisos necesarios

Se requieren los siguientes permisos para borrar tus grupos de consumidores:

  • Borra los grupos de consumidores: managedkafka.consumerGroups.delete

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

Para obtener más información sobre el rol de editor de grupos de consumidores de Kafka administrado, consulta Roles predefinidos de Managed Service para Apache Kafka.

Cómo borrar un grupo de consumidores

Cuando borras un grupo de consumidores, los desplazamientos de consumidores que almacena se pierden de forma permanente. Tampoco puedes ver los registros ni las métricas de los grupos de consumidores en la consola. Sin embargo, las métricas y los registros asociados con el grupo de consumidores se conservan y se puede acceder a ellos con el Explorador de registros. Borrar un grupo de consumidores tampoco borra los mensajes que consumió. Los mensajes seguirán disponibles en los temas con los que se asociaron originalmente.

Para borrar un grupo de consumidores, sigue estos pasos:

Console

  1. En la consola de Google Cloud , ve a la página Clúster.

    Ir a los clústeres

  2. En la lista de clústeres, haz clic en el clúster al que pertenece el grupo de consumidores que deseas borrar.

    Se abrirá la página Detalles del clúster.

  3. Haz clic en el grupo de consumidores que quieras borrar.
  4. En la página Detalles del grupo de consumidores, haz clic en Borrar.
  5. Confirma la operación.

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. Ejecuta el comando gcloud managed-kafka consumer-groups delete:

    gcloud managed-kafka consumer-groups delete CONSUMER_GROUP_ID \
        --cluster=CLUSTER_ID \
        --location=LOCATION

    Este comando quita de forma permanente un grupo de consumidores de tu clúster de Managed Service para Apache Kafka.

    Reemplaza lo siguiente:

    • CONSUMER_GROUP_ID: Es el ID o el nombre del grupo de consumidores.

    • CLUSTER_ID: Es el ID o el nombre del clúster.

    • LOCATION: Es la ubicación del clúster.

  3. Go

    import (
    	"context"
    	"fmt"
    	"io"
    
    	"cloud.google.com/go/managedkafka/apiv1/managedkafkapb"
    	"google.golang.org/api/option"
    
    	managedkafka "cloud.google.com/go/managedkafka/apiv1"
    )
    
    func deleteConsumerGroup(w io.Writer, projectID, region, clusterID, consumerGroupID string, opts ...option.ClientOption) error {
    	// projectID := "my-project-id"
    	// region := "us-central1"
    	// clusterID := "my-cluster"
    	// consumerGroupID := "my-consumer-group"
    	ctx := context.Background()
    	client, err := managedkafka.NewClient(ctx, opts...)
    	if err != nil {
    		return fmt.Errorf("managedkafka.NewClient got err: %w", err)
    	}
    	defer client.Close()
    
    	clusterPath := fmt.Sprintf("projects/%s/locations/%s/clusters/%s", projectID, region, clusterID)
    	consumerGroupPath := fmt.Sprintf("%s/consumerGroups/%s", clusterPath, consumerGroupID)
    	req := &managedkafkapb.DeleteConsumerGroupRequest{
    		Name: consumerGroupPath,
    	}
    	if err := client.DeleteConsumerGroup(ctx, req); err != nil {
    		return fmt.Errorf("client.DeleteConsumerGroup got err: %w", err)
    	}
    	fmt.Fprint(w, "Deleted consumer group\n")
    	return nil
    }
    

    Java

    import com.google.api.gax.rpc.ApiException;
    import com.google.cloud.managedkafka.v1.ConsumerGroupName;
    import com.google.cloud.managedkafka.v1.ManagedKafkaClient;
    import java.io.IOException;
    
    public class DeleteConsumerGroup {
    
      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-cluster";
        String consumerGroupId = "my-consumer-group";
        deleteConsumerGroup(projectId, region, clusterId, consumerGroupId);
      }
    
      public static void deleteConsumerGroup(
          String projectId, String region, String clusterId, String consumerGroupId) throws Exception {
        try (ManagedKafkaClient managedKafkaClient = ManagedKafkaClient.create()) {
          // This operation is being handled synchronously.
          managedKafkaClient.deleteConsumerGroup(
              ConsumerGroupName.of(projectId, region, clusterId, consumerGroupId));
          System.out.println("Deleted consumer group");
        } catch (IOException | ApiException e) {
          System.err.printf("managedKafkaClient.getConsumerGroup got err: %s", e.getMessage());
        }
      }
    }
    

    Python

    from google.api_core.exceptions import NotFound
    from google.cloud import managedkafka_v1
    
    # TODO(developer)
    # project_id = "my-project-id"
    # region = "us-central1"
    # cluster_id = "my-cluster"
    # consumer_group_id = "my-consumer-group"
    
    client = managedkafka_v1.ManagedKafkaClient()
    
    consumer_group_path = client.consumer_group_path(
        project_id, region, cluster_id, consumer_group_id
    )
    request = managedkafka_v1.DeleteConsumerGroupRequest(
        name=consumer_group_path,
    )
    
    try:
        client.delete_consumer_group(request=request)
        print("Deleted consumer group")
    except NotFound as e:
        print(f"Failed to delete consumer group {consumer_group_id} with error: {e.message}")
    

Próximos pasos

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