Consulta de informações do produto para modificação da especificação de instância
Função
Esta API é usada para consultar as informações do produto para modificação de especificações de instância.
Método de chamada
Para obter detalhes, consulte Chamada de APIs.
URI
GET /v2/{engine}/{project_id}/instances/{instance_id}/extend
Parâmetro |
Obrigatório |
Tipo |
Descrição |
---|---|---|---|
engine |
Sim |
String |
Mecanismo de mensagens. Padrão: kafka |
project_id |
Sim |
String |
ID do projeto. Para obter detalhes sobre como obtê-lo, consulte Obtenção de um ID de projeto. |
instance_id |
Sim |
String |
ID da instância. |
Parâmetro |
Obrigatório |
Tipo |
Descrição |
---|---|---|---|
type |
Sim |
String |
Edição do produto.
|
Parâmetros de solicitação
Nenhum
Parâmetros de resposta
Código de status: 200
Parâmetro |
Tipo |
Descrição |
---|---|---|
engine |
String |
Mecanismo de mensagens: Kafka. |
versions |
Array of strings |
Versões suportadas pelo mecanismo de mensagens. |
products |
Array of ExtendProductInfoEntity objects |
Informações sobre o produto para modificação de especificações. |
Parâmetro |
Tipo |
Descrição |
---|---|---|
type |
String |
Tipos de instâncias. |
product_id |
String |
ID do produto. |
ecs_flavor_id |
String |
Flavor de ECS usado pelo produto. |
arch_types |
Array of strings |
Arquiteturas de CPU suportadas. |
charging_mode |
Array of strings |
Modos de cobrança suportados. |
ios |
Array of ExtendProductIosEntity objects |
Informações de I/O do disco. |
support_features |
Array of ExtendProductSupportFeaturesEntity objects |
Recursos suportados. |
properties |
Descrição da especificação do produto. |
|
available_zones |
Array of strings |
As AZs onde há recursos disponíveis. |
unavailable_zones |
Array of strings |
AZs onde os recursos estão esgotados. |
Parâmetro |
Tipo |
Descrição |
---|---|---|
io_spec |
String |
Especificação de I/O de armazenamento. |
available_zones |
Array of strings |
As AZs onde há recursos disponíveis. |
type |
String |
Tipo de I/O. |
unavailable_zones |
Array of strings |
AZs onde os recursos estão esgotados. |
Parâmetro |
Tipo |
Descrição |
---|---|---|
name |
String |
Nome de recursos. |
properties |
Map<String,String> |
Par de chave-valor de um recurso. |
Parâmetro |
Tipo |
Descrição |
---|---|---|
max_partition_per_broker |
String |
Número máximo de partições de cada corretor. |
max_broker |
String |
Número máximo de corretores. |
max_storage_per_node |
String |
Espaço máximo de armazenamento de cada corretor. Unidade: GB. |
max_consumer_per_broker |
String |
Número máximo de consumidores de cada corretor. |
min_broker |
String |
Número mínimo de corretores. |
max_bandwidth_per_broker |
String |
Largura de banda máxima de cada corretor. |
min_storage_per_node |
String |
Espaço mínimo de armazenamento de cada corretor. Unidade: GB. |
max_tps_per_broker |
String |
TPS máximo de cada corretor. |
product_alias |
String |
Alias de product_id. |
Exemplo de solicitações
Consulta de informações do produto para modificação da especificação de exemplo
GET https://{endpoint}/v2/{engine}/{project_id}/instances/{instance_id}/extend?type={type}
Exemplo de respostas
Código de status: 200
As informações do produto para modificação da especificação da instância foram consultadas com sucesso.
- Informações do produto para modificação de especificação de instância consultadas.
{ "engine" : "kafka", "versions" : [ "1.1.0", "2.7" ], "products" : [ { "type" : "cluster", "product_id" : "c6.2u4g.cluster", "ecs_flavor_id" : "c3.large.2", "arch_types" : [ "X86" ], "charging_mode" : [ "monthly", "hourly" ], "ios" : [ { "io_spec" : "dms.physical.storage.high.v2", "available_zones" : [ "xxx" ], "type" : "evs", "unavailable_zones" : [ ] }, { "io_spec" : "dms.physical.storage.ultra.v2", "available_zones" : [ "xxx" ], "type" : "evs", "unavailable_zones" : [ ] } ], "support_features" : [ { "name" : "connector_obs", "properties" : { "max_task" : "10", "max_node" : "10", "min_task" : "1", "min_node" : "2" } } ], "properties" : { "max_partition_per_broker" : "250", "max_broker" : "30", "max_storage_per_node" : "10000", "max_consumer_per_broker" : "4000", "min_broker" : "3", "product_alias" : "kafka.2u4g.cluster", "max_bandwidth_per_broker" : "100", "min_storage_per_node" : "100", "max_tps_per_broker" : "30000" }, "available_zones" : [ "xxx" ], "unavailable_zones" : [ ] }, { "type" : "cluster", "product_id" : "c6.2u4g.cluster.dec", "ecs_flavor_id" : "c6.large.2", "arch_types" : [ "X86" ], "charging_mode" : [ "monthly", "hourly" ], "ios" : [ { "io_spec" : "dms.physical.storage.high.dss.v2", "available_zones" : [ "xxx" ], "type" : "evs", "unavailable_zones" : [ ] }, { "io_spec" : "dms.physical.storage.ultra.dss.v2", "available_zones" : [ "xxx" ], "type" : "evs", "unavailable_zones" : [ ] }, { "io_spec" : "dms.physical.storage.ultra.v2", "available_zones" : [ "xxx" ], "type" : "evs", "unavailable_zones" : [ ] }, { "io_spec" : "dms.physical.storage.high.v2", "available_zones" : [ "xxx" ], "type" : "evs", "unavailable_zones" : [ ] } ], "support_features" : [ { "name" : "connector_obs", "properties" : { "max_task" : "10", "max_node" : "10", "min_task" : "1", "min_node" : "2" } } ], "properties" : { "max_partition_per_broker" : "100", "max_broker" : "30", "max_storage_per_node" : "400", "max_consumer_per_broker" : "4000", "min_broker" : "3", "product_alias" : "kafka.2u4g.cluster.dec", "max_bandwidth_per_broker" : "100", "min_storage_per_node" : "100", "max_tps_per_broker" : "30000" }, "available_zones" : [ ], "unavailable_zones" : [ "xxx" ] }, { "type" : "cluster", "product_id" : "c6.4u8g.cluster", "ecs_flavor_id" : "c3.xlarge.2", "arch_types" : [ "X86" ], "charging_mode" : [ "monthly", "hourly" ], "ios" : [ { "io_spec" : "dms.physical.storage.high.v2", "available_zones" : [ "xxx" ], "type" : "evs", "unavailable_zones" : [ ] }, { "io_spec" : "dms.physical.storage.ultra.v2", "available_zones" : [ "xxx" ], "type" : "evs", "unavailable_zones" : [ ] } ], "support_features" : [ { "name" : "connector_obs", "properties" : { "max_task" : "10", "max_node" : "10", "min_task" : "1", "min_node" : "2" } } ], "properties" : { "max_partition_per_broker" : "500", "max_broker" : "30", "max_storage_per_node" : "20000", "max_consumer_per_broker" : "4000", "min_broker" : "3", "product_alias" : "kafka.4u8g.cluster", "max_bandwidth_per_broker" : "100", "min_storage_per_node" : "100", "max_tps_per_broker" : "100000" }, "available_zones" : [ "xxx" ], "unavailable_zones" : [ ] }, { "type" : "cluster", "product_id" : "c6.8u16g.cluster", "ecs_flavor_id" : "c3.2xlarge.2", "arch_types" : [ "X86" ], "charging_mode" : [ "monthly", "hourly" ], "ios" : [ { "io_spec" : "dms.physical.storage.high.v2", "available_zones" : [ "xxx" ], "type" : "evs", "unavailable_zones" : [ ] }, { "io_spec" : "dms.physical.storage.ultra.v2", "available_zones" : [ "xxx" ], "type" : "evs", "unavailable_zones" : [ ] } ], "support_features" : [ { "name" : "connector_obs", "properties" : { "max_task" : "10", "max_node" : "10", "min_task" : "1", "min_node" : "2" } } ], "properties" : { "max_partition_per_broker" : "1000", "max_broker" : "30", "max_storage_per_node" : "30000", "max_consumer_per_broker" : "4000", "min_broker" : "3", "product_alias" : "kafka.8u16g.cluster", "max_bandwidth_per_broker" : "100", "min_storage_per_node" : "100", "max_tps_per_broker" : "150000" }, "available_zones" : [ "xxx" ], "unavailable_zones" : [ ] }, { "type" : "cluster", "product_id" : "c6.12u24g.cluster", "ecs_flavor_id" : "c3.3xlarge.2", "arch_types" : [ "X86" ], "charging_mode" : [ "monthly", "hourly" ], "ios" : [ { "io_spec" : "dms.physical.storage.high.v2", "available_zones" : [ "xxx" ], "type" : "evs", "unavailable_zones" : [ ] }, { "io_spec" : "dms.physical.storage.ultra.v2", "available_zones" : [ "xxx" ], "type" : "evs", "unavailable_zones" : [ ] } ], "support_features" : [ { "name" : "connector_obs", "properties" : { "max_task" : "10", "max_node" : "10", "min_task" : "1", "min_node" : "2" } } ], "properties" : { "max_partition_per_broker" : "1500", "max_broker" : "30", "max_storage_per_node" : "30000", "max_consumer_per_broker" : "4000", "min_broker" : "3", "product_alias" : "kafka.12u24g.cluster", "max_bandwidth_per_broker" : "100", "min_storage_per_node" : "100", "max_tps_per_broker" : "200000" }, "available_zones" : [ "xxx" ], "unavailable_zones" : [ ] }, { "type" : "cluster", "product_id" : "c6.16u32g.cluster", "ecs_flavor_id" : "c3.4xlarge.2", "arch_types" : [ "X86" ], "charging_mode" : [ "monthly", "hourly" ], "ios" : [ { "io_spec" : "dms.physical.storage.high.v2", "available_zones" : [ "xxx" ], "type" : "evs", "unavailable_zones" : [ ] }, { "io_spec" : "dms.physical.storage.ultra.v2", "available_zones" : [ "xxx" ], "type" : "evs", "unavailable_zones" : [ ] } ], "support_features" : [ { "name" : "connector_obs", "properties" : { "max_task" : "10", "max_node" : "10", "min_task" : "1", "min_node" : "2" } } ], "properties" : { "max_partition_per_broker" : "2000", "max_broker" : "30", "max_storage_per_node" : "30000", "max_consumer_per_broker" : "4000", "min_broker" : "3", "product_alias" : "kafka.16u32g.cluster", "max_bandwidth_per_broker" : "100", "min_storage_per_node" : "100", "max_tps_per_broker" : "250000" }, "available_zones" : [ "xxx" ], "unavailable_zones" : [ ] } ] }
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 48 49 |
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 ShowEngineInstanceExtendProductInfoSolution { 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(); ShowEngineInstanceExtendProductInfoRequest request = new ShowEngineInstanceExtendProductInfoRequest(); request.withEngine(ShowEngineInstanceExtendProductInfoRequest.EngineEnum.fromValue("{engine}")); request.withInstanceId("{instance_id}"); try { ShowEngineInstanceExtendProductInfoResponse response = client.showEngineInstanceExtendProductInfo(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 31 32 |
# 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 = ShowEngineInstanceExtendProductInfoRequest() request.engine = "{engine}" request.instance_id = "{instance_id}" response = client.show_engine_instance_extend_product_info(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 38 39 |
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.ShowEngineInstanceExtendProductInfoRequest{} request.Engine = model.GetShowEngineInstanceExtendProductInfoRequestEngineEnum().ENGINE request.InstanceId = "{instance_id}" response, err := client.ShowEngineInstanceExtendProductInfo(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 |
As informações do produto para modificação da especificação da instância foram consultadas com sucesso. |
Códigos de erro
Consulte Códigos de erro.