Este conteúdo foi traduzido por máquina para sua conveniência e a Huawei Cloud não pode garantir que o conteúdo foi traduzido com precisão. Para exibir o conteúdo original, use o link no canto superior direito para mudar para a página em inglês.
Atualizado em 2024-09-10 GMT+08:00

Exclusão dos tópicos de uma instância de Kafka em lote

Função

Essa API é usada para excluir vários tópicos de uma instância do Kafka em lotes. Se alguns tópicos forem excluídos com sucesso enquanto alguns não forem excluídos, uma resposta de sucesso será retornada com informações sobre tópicos que não foram excluídos.

Método de chamada

Para obter detalhes, consulte Chamada de APIs.

URI

POST /v2/{project_id}/instances/{instance_id}/topics/delete

Tabela 1 Parâmetros de caminho

Parâmetro

Obrigatório

Tipo

Descrição

project_id

Sim

String

ID do projeto. Para obter detalhes sobre como obtê-lo, consulte Obtenção de um ID de projeto.

Mínimo: 1

Máximo: 64

instance_id

Sim

String

ID da instância.

Mínimo: 1

Máximo: 64

Parâmetros de solicitação

Tabela 2 Parâmetros do corpo da solicitação

Parâmetro

Obrigatório

Tipo

Descrição

topics

Não

Array of strings

Tópicos a serem excluídos.

Este parâmetro é obrigatório quando os tópicos da instância são excluídos em lotes.

Parâmetros de resposta

Código de status: 200

Tabela 3 Parâmetros do corpo de resposta

Parâmetro

Tipo

Descrição

topics

Array of topics objects

Lista de tópicos.

Tabela 4 topics

Parâmetro

Tipo

Descrição

id

String

Nome do tópico.

success

Boolean

Se os tópicos são excluídos.

Exemplo de solicitações

Exclusão de tópicos em lote

POST https://{endpoint}/v2/{project_id}/instances/{instance_id}/topics/delete

{
  "topics" : [ "topic01" ]
}

Exemplo de respostas

Código de status: 200

A exclusão foi bem-sucedida.

{
  "topics" : [ {
    "id" : "topic01",
    "success" : true
  } ]
}

Código de exemplo do SDK

O código de exemplo do SDK é o seguinte.

Java

Exclusão de tópicos em lote

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
package com.huaweicloud.sdk.test;

import com.huaweicloud.sdk.core.auth.ICredential;
import com.huaweicloud.sdk.core.auth.BasicCredentials;
import com.huaweicloud.sdk.core.exception.ConnectionException;
import com.huaweicloud.sdk.core.exception.RequestTimeoutException;
import com.huaweicloud.sdk.core.exception.ServiceResponseException;
import com.huaweicloud.sdk.kafka.v2.region.KafkaRegion;
import com.huaweicloud.sdk.kafka.v2.*;
import com.huaweicloud.sdk.kafka.v2.model.*;

import java.util.List;
import java.util.ArrayList;

public class BatchDeleteInstanceTopicSolution {

    public static void main(String[] args) {
        // The AK and SK used for authentication are hard-coded or stored in plaintext, which has great security risks. It is recommended that the AK and SK be stored in ciphertext in configuration files or environment variables and decrypted during use to ensure security.
        // In this example, AK and SK are stored in environment variables for authentication. Before running this example, set environment variables CLOUD_SDK_AK and CLOUD_SDK_SK in the local environment
        String ak = System.getenv("CLOUD_SDK_AK");
        String sk = System.getenv("CLOUD_SDK_SK");
        String projectId = "{project_id}";

        ICredential auth = new BasicCredentials()
                .withProjectId(projectId)
                .withAk(ak)
                .withSk(sk);

        KafkaClient client = KafkaClient.newBuilder()
                .withCredential(auth)
                .withRegion(KafkaRegion.valueOf("<YOUR REGION>"))
                .build();
        BatchDeleteInstanceTopicRequest request = new BatchDeleteInstanceTopicRequest();
        request.withInstanceId("{instance_id}");
        BatchDeleteInstanceTopicReq body = new BatchDeleteInstanceTopicReq();
        List<String> listbodyTopics = new ArrayList<>();
        listbodyTopics.add("topic01");
        body.withTopics(listbodyTopics);
        request.withBody(body);
        try {
            BatchDeleteInstanceTopicResponse response = client.batchDeleteInstanceTopic(request);
            System.out.println(response.toString());
        } catch (ConnectionException e) {
            e.printStackTrace();
        } catch (RequestTimeoutException e) {
            e.printStackTrace();
        } catch (ServiceResponseException e) {
            e.printStackTrace();
            System.out.println(e.getHttpStatusCode());
            System.out.println(e.getRequestId());
            System.out.println(e.getErrorCode());
            System.out.println(e.getErrorMsg());
        }
    }
}

Python

Exclusão de tópicos em lote

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
# coding: utf-8

from huaweicloudsdkcore.auth.credentials import BasicCredentials
from huaweicloudsdkkafka.v2.region.kafka_region import KafkaRegion
from huaweicloudsdkcore.exceptions import exceptions
from huaweicloudsdkkafka.v2 import *

if __name__ == "__main__":
    # The AK and SK used for authentication are hard-coded or stored in plaintext, which has great security risks. It is recommended that the AK and SK be stored in ciphertext in configuration files or environment variables and decrypted during use to ensure security.
    # In this example, AK and SK are stored in environment variables for authentication. Before running this example, set environment variables CLOUD_SDK_AK and CLOUD_SDK_SK in the local environment
    ak = __import__('os').getenv("CLOUD_SDK_AK")
    sk = __import__('os').getenv("CLOUD_SDK_SK")
    projectId = "{project_id}"

    credentials = BasicCredentials(ak, sk, projectId) \

    client = KafkaClient.new_builder() \
        .with_credentials(credentials) \
        .with_region(KafkaRegion.value_of("<YOUR REGION>")) \
        .build()

    try:
        request = BatchDeleteInstanceTopicRequest()
        request.instance_id = "{instance_id}"
        listTopicsbody = [
            "topic01"
        ]
        request.body = BatchDeleteInstanceTopicReq(
            topics=listTopicsbody
        )
        response = client.batch_delete_instance_topic(request)
        print(response)
    except exceptions.ClientRequestException as e:
        print(e.status_code)
        print(e.request_id)
        print(e.error_code)
        print(e.error_msg)

Go

Exclusão de tópicos em lote

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
package main

import (
	"fmt"
	"github.com/huaweicloud/huaweicloud-sdk-go-v3/core/auth/basic"
    kafka "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/kafka/v2"
	"github.com/huaweicloud/huaweicloud-sdk-go-v3/services/kafka/v2/model"
    region "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/kafka/v2/region"
)

func main() {
    // The AK and SK used for authentication are hard-coded or stored in plaintext, which has great security risks. It is recommended that the AK and SK be stored in ciphertext in configuration files or environment variables and decrypted during use to ensure security.
    // In this example, AK and SK are stored in environment variables for authentication. Before running this example, set environment variables CLOUD_SDK_AK and CLOUD_SDK_SK in the local environment
    ak := os.Getenv("CLOUD_SDK_AK")
    sk := os.Getenv("CLOUD_SDK_SK")
    projectId := "{project_id}"

    auth := basic.NewCredentialsBuilder().
        WithAk(ak).
        WithSk(sk).
        WithProjectId(projectId).
        Build()

    client := kafka.NewKafkaClient(
        kafka.KafkaClientBuilder().
            WithRegion(region.ValueOf("<YOUR REGION>")).
            WithCredential(auth).
            Build())

    request := &model.BatchDeleteInstanceTopicRequest{}
	request.InstanceId = "{instance_id}"
	var listTopicsbody = []string{
        "topic01",
    }
	request.Body = &model.BatchDeleteInstanceTopicReq{
		Topics: &listTopicsbody,
	}
	response, err := client.BatchDeleteInstanceTopic(request)
	if err == nil {
        fmt.Printf("%+v\n", response)
    } else {
        fmt.Println(err)
    }
}

Mais

Para obter o código de exemplo do SDK de mais linguagens de programação, consulte a guia Código de exemplo no API Explorer. O código de exemplo do SDK pode ser gerado automaticamente.

Códigos de status

Código de status

Descrição

200

A exclusão foi bem-sucedida.

Códigos de erro

Consulte Códigos de erro.