Consulta de instâncias de banco de dados
Função
Esta API é usada para consultar instâncias de banco de dados conforme critérios de pesquisa.
- Antes de chamar uma API, você precisa entender a API em Autenticação.
URI
- Formato de URI
GET /v3/{project_id}/instances?id={id}&name={name}&type={type}&datastore_type={datastore_type}&vpc_id={vpc_id}&subnet_id={subnet_id}&offset={offset}&limit={limit}&tags={key}={value}
- Descrição do parâmetro
Tabela 1 Descrição do parâmetro Nome
Tipo
Obrigatório
Descrição
project_id
String
Sim
Especifica o ID do projeto de um locatário em uma região.
Para obter detalhes sobre como obter o ID do projeto, consulte Obtenção de um ID de projeto.
id
String
Não
Especifica o ID da instância de banco de dados.
O asterisco (*) é reservado para o sistema. Se o ID da instância começar com *, indica que a correspondência difusa é executada com base no valor seguinte a *. Caso contrário, a correspondência exata é executada com base no ID da instância. O valor não pode conter apenas asteriscos (*).
name
String
Não
Especifica o nome da instância de banco de dados.
O asterisco (*) é reservado para o sistema. Se o nome da instância começar com *, indica que a correspondência difusa é executada com base no valor seguinte a *. Caso contrário, a correspondência exata é executada com base no nome da instância. O valor não pode conter apenas asteriscos (*).
type
String
Não
Especifica a consulta baseada em tipo de instância. O valor é Single, Ha, Replica ou Enterprise, que corresponde a instância única, instância primária/em espera, instância de réplica de leitura e instância distribuída (enterprise), respectivamente.
datastore_type
String
Não
Especifica o tipo de banco de dados. O valor pode ser qualquer um dos seguintes e diferencia maiúsculas de minúsculas:
- MySQL
- PostgreSQL
- SQLServer
vpc_id
String
Não
Especifica o ID da VPC.
- Método 1: faça logon no console da VPC e visualize o ID da VPC nos detalhes da VPC.
- Método 2: para obter detalhes, consulte a seção "Consulta das VPCs" na Referência de API da Virtual Private Cloud.
subnet_id
String
Não
Especifica o ID de rede da sub-rede.
- Método 1: faça logon no console da VPC e clique na sub-rede de destino na página Subnets. Você pode exibir o ID da rede na página exibida.
- Método 2: para obter detalhes, consulte a seção "Consulta das VPCs" na Referência de API da Virtual Private Cloud.
offset
Integer
Não
Especifica a posição do índice. Se offset estiver definido como N, a consulta de recursos começará a partir do dado N+1. O valor é 0 por padrão, indicando que a consulta começa a partir da primeira parte dos dados. O valor não pode ser um número negativo.
limit
Integer
Não
Especifica o número de registros a serem consultados. O valor padrão é 100. O valor não pode ser um número negativo. O valor mínimo é 1 e o valor máximo é 100.
tags
Array of objects
Não
Especifica consultas com base nas chaves e valores da tag de instância.
- {key} indica a chave da tag. Deve ser única e não pode estar vazia.
- {value} indica o valor da tag, que pode ser deixado vazio.
Para consultar instâncias com várias chaves e valores de tag, separe os pares de chave-valor com vírgulas (,). Um máximo de 20 pares de chave-valor é suportado.
Para mais detalhes, consulte Tabela 2.
Tabela 2 Descrição da estrutura de dados do campo tags Nome
Tipo
Obrigatório
Descrição
key
String
Sim
Especifica a chave da tag, que contém no máximo 127 caracteres Unicode. key não pode ser uma cadeia vazia, um espaço ou deixada em branco. Antes de usar key, exclua espaços de caractere de byte único (SBC) antes e depois do valor. O valor não pode conter os seguintes caracteres especiais: +/?#&=,%
value
String
Não
Especifica o valor da tag, que contém no máximo 255 caracteres Unicode. Antes de usar esse parâmetro, exclua espaços de caractere de byte único antes e depois do valor. O valor não pode conter os seguintes caracteres especiais: +/?#&=,%
Se os valores forem nulos, ele indica any_value (consulta de qualquer valor).
Solicitação
- Exemplo de URI
- Consulta de todas as instâncias de banco de dados
GET https://rds.ap-southeast-1.myhuaweicloud.com/v3/97b026aa9cc4417888c14c84a1ad9860/instances
- Consulta de instâncias de banco de dados com base em critérios de pesquisa
GET https://rds.ap-southeast-1.myhuaweicloud.com/v3/97b026aa9cc4417888c14c84a1ad9860/instances?id=ed7cc6166ec24360a5ed5c5c9c2ed726in01&name=hy&type=Ha&datastore_type=MySQL&vpc_id=19e5d45d-70fd-4a91-87e9-b27e71c9891f&subnet_id=bd51fb45-2dcb-4296-8783-8623bfe89bb7&offset=0&limit=10&tags=rds001=001,rds002=002
- Consulta de todas as instâncias de banco de dados
Resposta
- Resposta normal
Tabela 3 Descrição do parâmetro Nome
Tipo
Descrição
instances
Array of objects
Indica as informações da instância de banco de dados.
Para mais detalhes, consulte Tabela 4.
total_count
Integer
Indica o número total de registros.
Tabela 4 Descrição da estrutura de dados do campo instances Nome
Tipo
Descrição
id
String
Indica o ID da instância de banco de dados.
name
String
Indica o nome da instância de banco de dados criada.
status
String
Indica o status da instância de banco de dados.
Valor:
Se o valor estiver BUILD, a instância de banco de dados está sendo criada.
Se o valor estiver ACTIVE, a instância de banco de dados está normal.
Se o valor estiver FAILED, a instância de banco de dados está anormal.
Se o valor estiver FROZEN, a instância de banco de dados está congelada.
Se o valor estiver MODIFYING, a instância de banco de dados está sendo expandida.
Se o valor estiver REBOOTING, a instância de banco de dados está sendo reinicializada.
Se o valor estiver RESTORING, a instância de banco de dados está sendo restaurada.
Se o valor estiver MODIFYING INSTANCE TYPE, a instância de banco de dados está alterando de primária para em espera.
Se o valor estiver SWITCHOVER, a alteração primária/em espera está sendo executada.
Se o valor estiver MIGRATING, a instância de banco de dados está sendo migrada.
Se o valor estiver BACKING UP, o backup da instância de banco de dados está na execução.
Se o valor estiver MODIFYING DATABASE PORT, a porta de banco de dados está sendo alterada.
Se o valor estiver STORAGE FULL, o espaço de armazenamento da instância de banco de dados está cheio.
alias
String
Indica o alias da instância de banco de dados.
private_ips
List<String>
Indica a lista de endereços IP privados. É uma cadeia em branco até que um ECS seja criado.
private_dns_names
List<String>
Indica a lista de nomes de domínio privado da instância de banco de dados. Depois que uma instância de banco de dados é criada, você precisa aplicar manualmente para um nome de domínio privado.
public_ips
List<String>
Indica a lista de endereços IP públicos.
port
Integer
Indica o número da porta de banco de dados.
- A porta de banco de dados do RDS for MySQL varia de 1024 a 65535 (excluindo 12017 e 33071, que são ocupados pelo sistema RDS e não podem ser utilizados).
- A porta de banco de dados do RDS for PostgreSQL varia de 2100 a 9500.
- A porta de banco de dados do RDS for SQL Server é 1433 ou varia de 2100 a 9500 (excluindo 5355 e 5985. Para as edições Enterprise, Standard e Web do Microsoft SQL Server 2017, a porta de banco de dados também não pode ser definida como 5050, 5353 ou 5986).
Se este parâmetro não estiver definido, o valor padrão será o seguinte:
- RDS for MySQL: 3306.
- RDS for PostgreSQL: 5432
- RDS for SQL Server: 1433
enable_ssl
Boolean
Indica se o SSL deve ser ativado para a instância.
- Se o valor estiver true, o SSL foi ativado para a instância.
- Se o valor estiver false, o SSL será desativado para a instância.
type
String
O valor é Single, Ha, Replica ou Enterprise, que corresponde a instância única, instância primária/em espera, instância de réplica de leitura e instância distribuída (enterprise), respectivamente.
ha
Object
Indica as informações da instância de banco de dados primária/em espera. Retornado somente quando você obtém uma lista de instâncias de banco de dados primárias/em espera.
Para mais detalhes, consulte Tabela 5.
region
String
Indica a região onde a instância de banco de dados é implementada.
datastore
Object
Indica as informações de banco de dados.
Para mais detalhes, consulte Tabela 6.
created
String
Indica o tempo de criação no formato "yyyy-mm-ddThh:mm:ssZ".
T é o separador entre o calendário e a notação horária do tempo. Z indica o deslocamento do fuso horário. Por exemplo, se o deslocamento do fuso horário for de uma hora, o valor de Z será +0100.
O valor fica vazio quando a instância de banco de dados está sendo criada. Depois que a instância de banco de dados é criada, o valor não está vazio.
updated
String
Indica a hora de atualização. O formato é o mesmo do campo created.
O valor fica vazio quando a instância de banco de dados está sendo criada. Depois que a instância de banco de dados é criada, o valor não está vazio.
db_user_name
String
Indica o nome de usuário padrão.
vpc_id
String
Indica o ID da VPC.
subnet_id
String
Indica o ID de rede da sub-rede.
security_group_id
String
Indica o ID do grupo de segurança.
flavor_ref
String
Indica o código de especificação.
cpu
String
Indica o número de vCPUs. Por exemplo, o valor 1 indica 1 vCPU.
mem
String
Indica o tamanho da memória em GB.
volume
Object
Indica as informações de volume.
Para mais detalhes, consulte Tabela 7.
switch_strategy
String
Indica a política de alternância de banco de dados. O valor pode ser reliability ou availability, indicando a confiabilidade primeiro e a disponibilidade primeiro, respectivamente.
backup_strategy
Object
Indica a política de backup.
Para mais detalhes, consulte Tabela 8.
maintenance_window
String
Indica a hora de início da janela de tempo de manutenção no formato UTC.
nodes
Array of objects
Indica as informações da instância de banco de dados primária/em espera.
Para mais detalhes, consulte Tabela 9.
related_instance
Array of objects
Indica a lista de instâncias de banco de dados associadas.
Para mais detalhes, consulte Tabela 10.
disk_encryption_id
String
Indica o ID da chave de criptografia do disco.
enterprise_project_id
String
Indica o ID do projeto da empresa.
time_zone
String
Indica o fuso horário.
charge_info
Object
Indica as informações de cobrança, que são anuais/mensais ou pagamento por uso. Por padrão, pagamento por uso é usado.
Para mais detalhes, consulte Tabela 11.
tags
Array of objects
Indica a lista de tags. Se não houver nenhuma tag na lista, uma matriz vazia é retornada.
Para mais detalhes, consulte Tabela 12.
backup_used_space
Double
Indica o uso do espaço de backup em GB.
Este campo é retornado somente quando você consulta informações sobre um RDS especificado para instância de banco de dados do SQL Server.
storage_used_space
Double
Indica o uso do espaço de armazenamento em GB.
Este campo é retornado somente quando você consulta informações sobre um RDS especificado para instância de banco de dados do SQL Server.
order_id
String
Indica o ID do pedido. Este campo é retornado somente quando a instância de banco de dados é cobrada anualmente/mensalmente.
associated_with_ddm
Boolean
Indica se uma instância do DDM foi associada.
max_iops
Long
Indica o IOPS máximo de disco da instância.
Este campo é retornado somente para instâncias do RDS for SQL Server.
expiration_time
String
Indica o tempo em que uma instância expira. O formato é yyyy-mm-ddThh:mm:ssZ.
Este campo é retornado apenas para instâncias anuais/mensais.
Tabela 5 Descrição da estrutura de dados do campo ha Nome
Tipo
Descrição
replication_mode
String
Indica o modo de replicação para a instância de banco de dados em espera.
O valor não pode estar vazio.
- Para o RDS for MySQL, o valor é async ou semisync.
- Para o RDS for PostgreSQL, o valor é async ou sync.
- Para o RDS for SQL Server, o valor é sync.
NOTA:- async indica o modo de replicação assíncrona.
- semisync indica o modo de replicação semi-síncrona.
- sync indica o modo de replicação síncrona.
Tabela 6 Descrição da estrutura de dados do campo datastore Nome
Tipo
Descrição
type
String
Indica o mecanismo de banco de dados. O valor pode ser qualquer um dos seguintes e não faz distinção entre maiúsculas e minúsculas:
- MySQL
- PostgreSQL
- SQLServer
version
String
Indica a versão de banco de dados.
complete_version
String
Indica o número completo da versão. Este parâmetro é retornado somente quando o mecanismo de banco de dados é PostgreSQL.
Tabela 7 Descrição da estrutura de dados do campo volume Nome
Tipo
Descrição
type
String
Indica o tipo de volume.
size
Integer
Indica o tamanho do volume.
Tabela 8 Descrição da estrutura de dados do campo backup_strategy Nome
Tipo
Descrição
start_time
String
Indica a janela de tempo de backup. Os backups automáticos serão acionados durante a janela de tempo de backup.
A hora está no formato UTC.
keep_days
Integer
Indica o número de dias para reter os arquivos de backup gerados.
O valor varia de 0 a 732. Se o valor estiver 0, a política de cópia de segurança automática não está configurada ou foi desativada. Para estender o período de retenção, entre em contato com o atendimento ao cliente. Os backups automáticos podem ser mantidos por até 2 562 dias.
Tabela 9 Descrição da estrutura de dados do campo nodes Nome
Tipo
Descrição
id
String
Indica o ID do nó.
name
String
Indica o nome do nó.
role
String
Indica o tipo do nó. O valor pode ser master, slave ou readreplica, indicando o nó primário, o nó em espera e o nó de réplica de leitura, respectivamente.
status
String
Indica o status do nó.
availability_zone
String
Indica a AZ.
Tabela 10 Descrição da estrutura de dados do campo related_instance Nome
Tipo
Descrição
id
String
Indica o ID da instância de banco de dados associado.
type
String
Indica o tipo de instância de banco de dados associado.
- replica_of: indica a instância de banco de dados primária.
- replica: indica réplicas de leitura.
Tabela 11 Descrição da estrutura de dados do campo chargeInfo Nome
Obrigatório
Tipo
Descrição
charge_mode
Sim
String
Indica o modo de cobrança.
Valor válido:
- prePaid: indica o modo de cobrança anual/mensal.
- postPaid: indica o modo de cobrança de pagamento por uso.
Tabela 12 Descrição da estrutura de dados do campo tags Nome
Tipo
Descrição
key
String
Indica a chave da tag.
value
String
Indica o valor da tag.
Os valores de region e availability_zone são usados como exemplos.
- Exemplo de resposta normal
Consultar instâncias de banco de dados com base em critérios de pesquisa.
{ "instances": [{ "id": "ed7cc6166ec24360a5ed5c5c9c2ed726in01", "status": "ACTIVE", "name": "mysql-0820-022709-01", "port": 3306, "type": "Single", "region": "aaa", "datastore": { "type": "MySQL", "version": "5.7" }, "created": "2018-08-20T02:33:49+0800", "updated": "2018-08-20T02:33:50+0800", "volume": { "type": "ULTRAHIGH", "size": 100 }, "nodes": [{ "id": "06f1c2ad57604ae89e153e4d27f4e4b8no01", "name": "mysql-0820-022709-01_node0", "role": "master", "status": "ACTIVE", "availability_zone": "bbb" }], "alias": "description", "private_ips": ["192.168.0.142"], "private_dns_names": ["ed7cc6166ec24360a5ed5c5c9c2ed726in01.internal.cn-xianhz-1.mysql.rds.myhuaweicloud.com"], "public_ips": ["10.154.219.187", "10.154.219.186"], "enable_ssl": false, "db_user_name": "root", "vpc_id": "b21630c1-e7d3-450d-907d-39ef5f445ae7", "subnet_id": "45557a98-9e17-4600-8aec-999150bc4eef", "security_group_id": "38815c5c-482b-450a-80b6-0a301f2afd97", "flavor_ref": "rds.mysql.s1.large", "cpu": "2", "mem": "4", "switch_strategy": "", "charge_info": { "charge_mode": "postPaid" }, "backup_strategy": { "start_time": "19:00-20:00", "keep_days": 7 }, "maintenance_window": "02:00-06:00", "related_instance": [], "disk_encryption_id": "", "enterprise_project_id": "0", "time_zone": "", "tags": [ { "key": "rds001", "value": "001" }, { "key": "rds002", "value": "002" } ], "associated_with_ddm": false }], "total_count": 1 }
- Consultar todas as instâncias de banco de dados.
{ "instances": [{ "id": "ed7cc6166ec24360a5ed5c5c9c2ed726in01", "status": "ACTIVE", "name": "mysql-0820-022709-01", "port": 3306, "type": "Single", "region": "aaa", "datastore": { "type": "MySQL", "version": "5.7" }, "created": "2018-08-20T02:33:49+0800", "updated": "2018-08-20T02:33:50+0800", "volume": { "type": "ULTRAHIGH", "size": 100 }, "nodes": [{ "id": "06f1c2ad57604ae89e153e4d27f4e4b8no01", "name": "mysql-0820-022709-01_node0", "role": "master", "status": "ACTIVE", "availability_zone": "bbb" }], "alias": "description", "private_ips": ["192.168.0.142"], "enable_ssl": false, "private_dns_names": ["ed7cc6166ec24360a5ed5c5c9c2ed726in01.internal.cn-xianhz-1.mysql.rds.myhuaweicloud.com"], "public_ips": ["10.154.219.187", "10.154.219.186"], "db_user_name": "root", "vpc_id": "b21630c1-e7d3-450d-907d-39ef5f445ae7", "subnet_id": "45557a98-9e17-4600-8aec-999150bc4eef", "security_group_id": "38815c5c-482b-450a-80b6-0a301f2afd97", "flavor_ref": "rds.mysql.s1.large", "cpu": "2", "mem": "4", "switch_strategy": "", "charge_info": { "charge_mode": "postPaid" }, "backup_strategy": { "start_time": "19:00-20:00", "keep_days": 7 }, "maintenance_window": "02:00-06:00", "related_instance": [], "disk_encryption_id": "", "enterprise_project_id": "0", "time_zone": "", "tags": [ { "key": "rds001", "value": "001" }, { "key": "rds002", "value": "002" } ], "associated_with_ddm": false }, { "id": "ed7cc6166ec24360a5ed5c5c9c2ed726in02", "status": "ACTIVE", "name": "mysql-0820-022709-02", "port": 3306, "type": "Single", "region": "aaa", "datastore": { "type": "MySQL", "version": "5.7" }, "created": "2018-08-20T02:33:49+0800", "updated": "2018-08-20T02:33:50+0800", "volume": { "type": "ULTRAHIGH", "size": 100 }, "nodes": [{ "id": "06f1c2ad57604ae89e153e4d27f4e4b8no01", "name": "mysql-0820-022709-01_node0", "role": "master", "status": "ACTIVE", "availability_zone": "bbb" }], "alias": "description", "private_ips": ["192.168.0.142"], "private_dns_names": ["ed7cc6166ec24360a5ed5c5c9c2ed726in01.internal.cn-xianhz-1.mysql.rds.myhuaweicloud.com"], "public_ips": ["10.154.219.187", "10.154.219.186"], "enable_ssl": false, "db_user_name": "root", "vpc_id": "b21630c1-e7d3-450d-907d-39ef5f445ae7", "subnet_id": "45557a98-9e17-4600-8aec-999150bc4eef", "security_group_id": "38815c5c-482b-450a-80b6-0a301f2afd97", "flavor_ref": "rds.mysql.s1.large", "cpu": "2", "mem": "4", "switch_strategy": "", "charge_info": { "charge_mode": "postPaid" }, "backup_strategy": { "start_time": "19:00-20:00", "keep_days": 7 }, "maintenance_window": "02:00-06:00", "related_instance": [], "disk_encryption_id": "", "enterprise_project_id": "0", "time_zone": "", "tags": [ { "key": "rds001", "value": "001" }, { "key": "rds002", "value": "002" } ], "associated_with_ddm": false }], "total_count": 2 }
- Resposta anormal
Para mais detalhes, consulte Resultados anormais da solicitação.
Código de status
- Normal
- Anormal
Para mais detalhes, consulte Códigos de status.
Código de erro
Para mais detalhes, consulte Códigos de erro.