Listagem de todas as instâncias
Função
Essa API é usada para consultar as instâncias de uma conta pelas condições especificadas.
Método de chamada
Para obter detalhes, consulte Chamada de APIs.
URI
GET /v2/{project_id}/instances
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. |
Parâmetro |
Obrigatório |
Tipo |
Descrição |
---|---|---|---|
engine |
Sim |
String |
Mecanismo de mensagens. Valor: kafka. Padrão: kafka |
name |
Não |
String |
Nome da instância. |
instance_id |
Não |
String |
ID da instância. |
status |
Não |
String |
Status da instância. Para obter detalhes, consulte Status da instância. |
include_failure |
Não |
String |
Indica se deve ser retornado o número de instâncias que não foram criadas. Se o valor for true, será retornado o número de instâncias que não foram criadas. Se o valor for false, o número não será retornado. |
exact_match_name |
Não |
String |
Se deve procurar a instância que corresponde precisamente a um nome de instância especificado. O valor padrão é false*, indicando que uma pesquisa difusa é executada com base em um nome de instância especificado. Se o valor for true, a instância que corresponde precisamente a um nome de instância especificado será consultada. |
enterprise_project_id |
Não |
String |
ID do projeto empresarial. |
offset |
Não |
String |
Deslocamento, que é a posição onde a consulta começa. O valor deve ser maior ou igual a 0. |
limit |
Não |
String |
Número máximo de instâncias retornadas na consulta atual. O valor padrão é 10. O valor varia de 1 a 50. |
Parâmetros de solicitação
Nenhum
Parâmetros de resposta
Código de status: 200
Parâmetro |
Tipo |
Descrição |
---|---|---|
instances |
Array of ShowInstanceResp objects |
Lista de instâncias. |
instance_num |
Integer |
Número de instâncias. |
Parâmetro |
Tipo |
Descrição |
---|---|---|
name |
String |
Nome da instância. |
engine |
String |
Mecanismo de mensagens. |
engine_version |
String |
Versão. |
description |
String |
Descrição da instância |
specification |
String |
Especificações de instância. |
storage_space |
Integer |
Espaço de armazenamento de mensagens em GB. |
partition_num |
String |
Número de partições em uma instância de Kafka. |
used_storage_space |
Integer |
Espaço de armazenamento de mensagens usado em GB. |
connect_address |
String |
Endereço IP de uma instância. |
port |
Integer |
Porta de uma instância. |
status |
String |
Status da instância. Para obter detalhes, consulte Status da instância. |
instance_id |
String |
ID da instância. |
resource_spec_code |
String |
Especificações de recursos.
|
charging_mode |
Integer |
Modo de cobrança. Opções: 1: pagamento por uso; 0: anual/mensal. |
vpc_id |
String |
ID de VPC |
vpc_name |
String |
Nome da VPC. |
created_at |
String |
Hora em que a instância foi criada. A hora está no formato de carimbo de data/hora, ou seja, o deslocamento em milissegundos de 01/01/1970 00:00:00 UTC até a hora especificada. |
subnet_name |
String |
Nome da sub-rede. |
subnet_cidr |
String |
Bloco CIDR da sub-rede. |
user_id |
String |
ID do usuário. |
user_name |
String |
Nome de usuário. |
access_user |
String |
Nome de usuário para acessar a instância. |
order_id |
String |
ID do pedido. Este parâmetro tem um valor apenas quando o modo de cobrança é anual/mensal. |
maintain_begin |
String |
Hora em que a janela de tempo de manutenção começa. O formato é HH:mm:ss. |
maintain_end |
String |
Hora em que a janela de tempo de manutenção termina. O formato é HH:mm:ss. |
enable_publicip |
Boolean |
Se o acesso público está ativado para a instância.
|
management_connect_address |
String |
Endereço de conexão do Kafka Manager da instância do Kafka. |
ssl_enable |
Boolean |
Se a autenticação de segurança está ativada.
|
broker_ssl_enable |
Boolean |
Indica se deve ser ativada a transmissão de réplicas criptografadas entre corretores.
|
kafka_security_protocol |
String |
Protocolo de segurança a ser usado após a ativação do SASL.
|
sasl_enabled_mechanisms |
Array of strings |
Mecanismo de autenticação usado após a ativação do SASL.
|
ssl_two_way_enable |
Boolean |
Indica se a autenticação bidirecional deve ser ativada. |
cert_replaced |
Boolean |
Se o certificado pode ser substituído. |
public_management_connect_address |
String |
Endereço para acessar o Kafka Manager em redes públicas. |
enterprise_project_id |
String |
ID do projeto empresarial. |
is_logical_volume |
Boolean |
Se a instância é uma nova instância. Esse parâmetro é usado para distinguir instâncias anteriores de instâncias novas durante a expansão da capacidade da instância.
|
extend_times |
Integer |
Número de tempos de expansão do disco. Se o valor exceder 20, a expansão do disco não será mais permitida. |
enable_auto_topic |
Boolean |
Se a criação automática de tópicos está ativada.
|
type |
String |
Tipos de instâncias. O valor pode ser cluster. |
product_id |
String |
ID do produto. |
security_group_id |
String |
ID do grupo de segurança. |
security_group_name |
String |
Nome do grupo de segurança. |
subnet_id |
String |
ID da sub-rede. |
available_zones |
Array of strings |
AZ ao qual os corretores de instância pertencem. O ID da AZ é retornado. |
available_zone_names |
Array of strings |
Nome da AZ à qual o nó da instância pertence. O nome da AZ é retornado. |
total_storage_space |
Integer |
Espaço de armazenamento de mensagens em GB. |
public_connect_address |
String |
Endereço de acesso público da instância. Esse parâmetro está disponível somente quando o acesso público está ativado para a instância. |
storage_resource_id |
String |
ID do recurso de armazenamento. |
storage_spec_code |
String |
Especificações de I/O. |
service_type |
String |
Tipo de serviço. |
storage_type |
String |
Classe de armazenamento. |
retention_policy |
String |
Política de retenção de mensagens. |
kafka_public_status |
String |
Se o acesso público está ativado para o Kafka. |
public_bandwidth |
Integer |
Largura de banda de acesso à rede pública. |
kafka_manager_enable |
Boolean |
Se o Kafka Manager está ativado. |
kafka_manager_user |
String |
Nome de usuário para efetuar logon no Kafka Manager. |
enable_log_collection |
Boolean |
Se a coleta de logs está ativada. |
new_auth_cert |
Boolean |
Indica se deve ativar um novo certificado. |
cross_vpc_info |
String |
Informações de acesso entre VPCs. |
ipv6_enable |
Boolean |
Se o IPv6 está ativado. |
ipv6_connect_addresses |
Array of strings |
Endereço de conexão IPv6. |
connector_enable |
Boolean |
Se o despejo está ativado. O despejo não é suportado para o novo tipo de especificação. |
connector_node_num |
Integer |
Número de conectores. |
connector_id |
String |
ID da tarefa de despejo. |
rest_enable |
Boolean |
Se o Kafka REST está ativado. |
rest_connect_address |
String |
Endereço de conexão do Kafka REST. |
public_boundwidth |
Integer |
Largura de banda de acesso à rede pública. Versão a ser excluída. |
message_query_inst_enable |
Boolean |
Se a consulta de mensagem está ativada. |
vpc_client_plain |
Boolean |
Se o acesso de texto não criptografado dentro da VPC está ativado. |
support_features |
String |
Lista de recursos suportados pela instância de Kafka. |
trace_enable |
Boolean |
Se o rastreamento de mensagens está ativado. |
agent_enable |
Boolean |
Indica se o proxy está ativado. |
pod_connect_address |
String |
Endereço de conexão no lado do locatário. |
disk_encrypted |
Boolean |
Se a criptografia de disco está ativada. |
disk_encrypted_key |
String |
Key de criptografia de disco. Se a criptografia de disco não estiver ativada, esse parâmetro será deixado em branco. |
kafka_private_connect_address |
String |
Endereço de conexão privada de uma instância do Kafka. |
ces_version |
String |
Versão do Cloud Eye. |
public_access_enabled |
String |
Hora em que o acesso público foi ativado para uma instância. O valor pode ser true, actived, closed ou false. |
node_num |
Integer |
Quantidade de nó. |
enable_acl |
Boolean |
Indica se o controle de acesso está ativado. |
new_spec_billing_enable |
Boolean |
Se a cobrança com base em novas especificações está ativada. |
broker_num |
Integer |
Quantidade do corretor. |
tags |
Array of TagEntity objects |
Lista de tags. |
dr_enable |
Boolean |
Indica se a DR está ativada. |
Parâmetro |
Tipo |
Descrição |
---|---|---|
key |
String |
Chave de tag, que:
|
value |
String |
Valor da tag.
|
Exemplo de solicitações
Consulta da lista de instâncias
GET https://{endpoint}/v2/{project_id}/instances
Exemplo de respostas
Código de status: 200
Lista de instâncias consultada.
- A lista de instâncias é consultada. Um exemplo de resultado retornado é o seguinte.
{ "instances" : [ { "name" : "kafka-2085975099", "engine" : "kafka", "port" : 9092, "status" : "RUNNING", "type" : "cluster", "specification" : "100MB", "engine_version" : "1.1.0", "connect_address" : "192.168.0.100,192.168.0.61,192.168.0.72", "instance_id" : "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", "resource_spec_code" : "dms.instance.kafka.cluster.c3.mini", "charging_mode" : 1, "vpc_id" : "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", "vpc_name" : "dms-test", "created_at" : "1585618587087", "product_id" : "00300-30308-0--0", "security_group_id" : "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", "security_group_name" : "Sys-default", "subnet_id" : "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", "available_zones" : [ "38b0f7a602344246bcb0da47b5d548e7" ], "available_zone_names" : [ "AZ1" ], "user_id" : "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", "user_name" : "paas_dms", "kafka_manager_enable" : false, "kafka_manager_user" : "root", "maintain_begin" : "02:00:00", "maintain_end" : "06:00:00", "enable_log_collection" : false, "new_auth_cert" : false, "storage_space" : 492, "total_storage_space" : 600, "used_storage_space" : 25, "partition_num" : "300", "enable_publicip" : false, "ssl_enable" : false, "broker_ssl_enable" : false, "cert_replaced" : false, "management_connect_address" : "https://192.168.0.100:9999", "cross_vpc_info" : "{\"192.168.0.61\":{\"advertised_ip\":\"192.168.0.61\",\"port\":9011,\"port_id\":\"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"},\"192.168.0.72\":{\"advertised_ip\":\"192.168.0.72\",\"port\":9011,\"port_id\":\"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"},\"192.168.0.100\":{\"advertised_ip\":\"192.168.0.100\",\"port\":9011,\"port_id\":\"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"}}", "storage_resource_id" : "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", "storage_spec_code" : "dms.physical.storage.ultra", "service_type" : "advanced", "storage_type" : "hec", "enterprise_project_id" : "0", "is_logical_volume" : true, "extend_times" : 0, "retention_policy" : "produce_reject", "ipv6_enable" : false, "ipv6_connect_addresses" : [ ], "connector_enable" : false, "connector_node_num" : 0, "connector_id" : "", "rest_enable" : false, "rest_connect_address" : "", "kafka_public_status" : "closed", "public_bandwidth" : 0, "message_query_inst_enable" : true, "vpc_client_plain" : false, "support_features" : "kafka.new.pod.port,feature.physerver.kafka.topic.modify,feature.physerver.kafka.topic.accesspolicy,message_trace_enable,features.pod.token.access,feature.physerver.kafka.pulbic.dynamic,roma_app_enable,features.log.collection,auto_topic_switch,feature.physerver.kafka.user.manager", "trace_enable" : false, "agent_enable" : false, "pod_connect_address" : "100.86.75.15:9080,100.86.142.77:9080,100.86.250.167:9080", "disk_encrypted" : false, "kafka_private_connect_address" : "192.168.0.61:9092,192.168.0.100:9092,192.168.0.72:9092", "enable_auto_topic" : false, "new_spec_billing_enable" : false, "ces_version" : "linux" } ], "instance_num" : 1 }
Código de exemplo do SDK
O código de exemplo do SDK é o seguinte.
Java
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 |
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.*; public class ListInstancesSolution { 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(); ListInstancesRequest request = new ListInstancesRequest(); try { ListInstancesResponse response = client.listInstances(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
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 |
# 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 = ListInstancesRequest() response = client.list_instances(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
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 |
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.ListInstancesRequest{} response, err := client.ListInstances(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 |
Lista de instâncias consultada. |
Códigos de erro
Consulte Códigos de erro.