Criação de uma instância de BD
Função
Essa API é usada para criar uma instância de BD do GaussDB(for MySQL). Antes de chamar essa API:
- Saiba como autorizá-la e autenticá-la.
- Obtenha a região e o ponto de extremidade necessários.
URI
POST /v3/{project_id}/instances
Parâmetro |
Obrigatório |
Tipo |
Descrição |
---|---|---|---|
project_id |
Sim |
String |
ID do projeto de um locatário em uma região. Para obter esse valor, consulte Obtenção de um ID de projeto. |
Parâmetros de solicitação
Parâmetro |
Obrigatório |
Tipo |
Descrição |
---|---|---|---|
X-Auth-Token |
Sim |
String |
Token do usuário. Se o corpo de resposta a seguir for retornado para chamar a API usada para obter um token de usuário, a solicitação será bem-sucedida. Depois que a solicitação é processada, o valor de X-Subject-Token no cabeçalho da mensagem é o valor do token. |
X-Language |
Não |
String |
Tipo de linguagem da solicitação. O valor padrão é en-us. Valor:
|
Parâmetro |
Obrigatório |
Tipo |
Descrição |
---|---|---|---|
charge_info |
Não |
MysqlChargeInfo object |
Modo de cobrança, que é anual/mensal ou pagamento por uso (configuração padrão). Observação: Não é possível criar instâncias anuais/mensais numa DeC. |
region |
Sim |
String |
ID da região. O valor não pode ser vazio. Para obter esse valor, consulte Regiões e pontos de extremidade. |
name |
Sim |
String |
Nome da instância de BD. Instâncias do mesmo tipo podem ter os mesmos nomes sob o mesmo locatário. O valor deve ter de 4 a 64 caracteres de comprimento e começar com uma letra. Ele diferencia maiúsculas de minúsculas e pode conter apenas letras, dígitos, hifens (-) e sublinhados (_). |
datastore |
Sim |
MysqlDatastore object |
Informações do banco de dados. |
mode |
Sim |
String |
Tipos de instância. Atualmente, apenas o tipo de cluster é suportado. |
flavor_ref |
Sim |
String |
Código de especificação. |
vpc_id |
Sim |
String |
ID de VPC Para obter esse valor, use um dos seguintes métodos:
|
subnet_id |
Sim |
String |
ID da rede. Para obter esse valor, use um dos seguintes métodos:
|
security_group_id |
Não |
String |
ID do grupo de segurança. Se a ACL da rede estiver ativada, esse parâmetro não poderá ser especificado. Se a ACL da rede estiver desativada, esse parâmetro será obrigatório.
|
configuration_id |
Não |
String |
ID do modelo de parâmetro. |
password |
Sim |
String |
Senha do banco de dados. A senha tem de 8 a 32 caracteres e contém pelo menos três dos seguintes tipos: letras maiúsculas, letras minúsculas, dígitos e caracteres especiais (~!@#$%^*-_=+?,()&). É aconselhável inserir uma senha forte para melhorar a segurança e evitar riscos de segurança, como quebra de força bruta. Se você digitar uma senha fraca, o sistema determinará automaticamente que a senha é inválida. |
backup_strategy |
Não |
MysqlBackupStrategy object |
Política de backup automatizado. |
time_zone |
Não |
String |
Fuso horário. O fuso horário padrão é UTC. |
availability_zone_mode |
Sim |
String |
Tipo de AZ. O valor pode ser single ou multi. |
master_availability_zone |
Não |
String |
AZ primária.
|
slave_count |
Sim |
Integer |
Número de réplicas de leitura. Um máximo de nove réplicas de leitura podem ser criadas por vez. |
volume |
Não |
MysqlVolume object |
Informação do volume. Este parâmetro é opcional durante a criação de instâncias anuais/mensais. |
tags |
Não |
Array of MysqlTags objects |
Lista de tags. As instâncias são criadas com base em chaves e valores de tags.
Para criar instâncias com várias chaves e valores de tags, separe os pares chave-valor com vírgulas (,). Até 10 pares chave-valor podem ser adicionados. |
lower_case_table_names |
Não |
Integer |
Se os nomes das tabelas diferenciam maiúsculas de minúsculas. O valor padrão é 1. Valor:
|
enterprise_project_id |
Não |
String |
ID do projeto empresarial. Este parâmetro é obrigatório quando o projeto empresarial está ativado. |
dedicated_resource_id |
Não |
String |
ID do pool de recursos dedicado. Esse parâmetro é exibido somente quando o pool de recursos dedicado está ativado. |
restore_point |
Não |
MysqlRestorePoint object |
Informações de backup. |
Parâmetro |
Obrigatório |
Tipo |
Descrição |
---|---|---|---|
charge_mode |
Sim |
String |
Modo de cobrança. Valor válido:
|
period_type |
Não |
String |
Período de assinatura. Valor válido:
|
period_num |
Não |
Integer |
Duração da assinatura. Este parâmetro é válido e obrigatório se charge_mode estiver definido como prePaid. Valor válido:
|
is_auto_renew |
Não |
String |
Se a renovação automática está ativada para instâncias de BD anuais/mensais. O período de renovação é o mesmo que o período original e o pedido será pago automaticamente durante a renovação da assinatura.
|
is_auto_pay |
Não |
String |
Se o pedido será pago automaticamente após a criação de instâncias anuais/mensais. Este parâmetro não afeta o método de pagamento de renovação automática.
|
Parâmetro |
Obrigatório |
Tipo |
Descrição |
---|---|---|---|
type |
Sim |
String |
Mecanismo de BD. Atualmente, apenas o gaussdb-mysql é suportado. |
version |
Sim |
String |
Versão de BD. Uma versão principal de dois dígitos é retornada. Para obter detalhes sobre como obter a versão, consulte o campo name retornado por Consulta de informações de versão sobre um mecanismo de BD. |
kernel_version |
Não |
String |
Versão do kernel do BD. Se você precisar especificar uma versão do kernel, entre em contato com o atendimento ao cliente. Uma versão completa de 4 dígitos do kernel é retornada. Para obter detalhes sobre como obter a versão, consulte o campo kernel_version retornado por Consulta de informações de versão sobre um mecanismo de BD. |
Parâmetro |
Obrigatório |
Tipo |
Descrição |
---|---|---|---|
start_time |
Sim |
String |
Hora de início do backup automatizado. O backup automatizado será acionado dentro de uma hora após o horário especificado por este parâmetro. O valor não pode ser vazio. Deve ser um valor válido no formato "hh:mm-HH:MM". A hora atual está no formato UTC.
Exemplo de valor: 21:00-22:00 |
keep_days |
Não |
String |
Período de retenção de backups automatizados. Valor: 1 a 732 |
Parâmetro |
Obrigatório |
Tipo |
Descrição |
---|---|---|---|
size |
Sim |
String |
Tamanho do disco. O valor padrão é 10 GB. Valor: 10 a 128000. O valor deve ser um múltiplo de 10. |
Parâmetro |
Obrigatório |
Tipo |
Descrição |
---|---|---|---|
key |
Sim |
String |
Chave da tag. Contém um máximo de 36 caracteres Unicode. O valor não pode ser uma cadeia vazia, um espaço ou deixado em branco. Apenas letras maiúsculas, letras minúsculas, dígitos, hifens (-) e sublinhados (_) são permitidos. |
value |
Sim |
String |
Valor da tag. Contém um máximo de 43 caracteres Unicode. Pode ser uma cadeia vazia. Somente letras maiúsculas, letras minúsculas, dígitos, pontos (.), hifens (-) e sublinhados (_) são permitidos. |
Parâmetro |
Obrigatório |
Tipo |
Descrição |
---|---|---|---|
restore_time |
Não |
Long |
Ponto no tempo para o qual os dados são restaurados. |
source_instance_id |
Sim |
String |
ID da instância de origem. |
backup_id |
Não |
String |
ID do arquivo de backup. |
type |
Não |
String |
Tipo de backup.
|
Parâmetros de resposta
Código de status: 201
Parâmetro |
Tipo |
Descrição |
---|---|---|
instance |
MysqlInstanceResponse object |
Informações da instância. |
job_id |
String |
ID da tarefa para criar uma instância de BD. Esse parâmetro é retornado somente quando instâncias de BD de pagamento por uso são criadas. |
order_id |
String |
ID do pedido. Este parâmetro é retornado somente quando instâncias anuais/mensais são criadas. |
Parâmetro |
Tipo |
Descrição |
---|---|---|
id |
String |
ID da instância. |
name |
String |
Nome da instância de BD. Instâncias do mesmo tipo podem ter os mesmos nomes sob o mesmo locatário. O nome pode consistir de 4 a 64 caracteres e deve começar com uma letra. Não diferencia maiúsculas de minúsculas e pode conter apenas letras, dígitos, hifens (-) e sublinhados (_). |
status |
String |
Status da instância de BD. Esse parâmetro é retornado somente quando instâncias de BD de pagamento por uso são criadas. |
datastore |
MysqlDatastore object |
Informações do banco de dados. |
mode |
String |
Tipo de instância de BD. Atualmente, apenas o tipo de cluster é suportado. |
configuration_id |
String |
ID do modelo de parâmetro. |
port |
String |
Porta do banco de dados. |
backup_strategy |
MysqlBackupStrategy object |
Política de backup automatizado. |
enterprise_project_id |
String |
ID do projeto empresarial. |
region |
String |
ID da região, que é o mesmo que o parâmetro de solicitação. |
availability_zone_mode |
String |
Modo de AZ, que é o mesmo que o parâmetro de solicitação. |
master_availability_zone |
String |
ID de AZ primária. |
vpc_id |
String |
ID de VPC, que é igual ao parâmetro de solicitação. |
security_group_id |
String |
ID do grupo de segurança, que é o mesmo que o parâmetro de solicitação. |
subnet_id |
String |
ID de sub-rede, que é o mesmo que o parâmetro de solicitação. |
flavor_ref |
String |
Código de especificação, que é o mesmo que o parâmetro de solicitação. |
charge_info |
MysqlChargeInfo object |
Modo de cobrança, que é anual/mensal ou pagamento por uso. |
volume |
MysqlVolumeResp object |
Informação do volume. Este parâmetro é retornado quando uma instância de BD anual/mensal é criada. |
Parâmetro |
Tipo |
Descrição |
---|---|---|
type |
String |
Mecanismo de BD. Atualmente, apenas gaussdb-mysql é suportado. |
version |
String |
Versão de BD. Uma versão principal de dois dígitos é retornada. Para obter detalhes sobre como obter a versão, consulte o campo name retornado por Consulta de informações de versão sobre um mecanismo de BD. |
kernel_version |
String |
Versão do kernel do BD. Uma versão completa de 4 dígitos do kernel é retornada. Para obter detalhes sobre como obter a versão, consulte o campo kernel_version retornado por Consulta de informações de versão sobre um mecanismo de BD. |
Parâmetro |
Tipo |
Descrição |
---|---|---|
start_time |
String |
Hora de início do backup automatizado. O backup automatizado será acionado dentro de uma hora após o horário especificado por este parâmetro. O valor não pode ser vazio. Deve ser um valor válido no formato "hh:mm-HH:MM". A hora atual está no formato UTC.
|
keep_days |
String |
Dias de retenção de backup automatizado. Valor: 1-732. |
Parâmetro |
Tipo |
Descrição |
---|---|---|
charge_mode |
String |
Modo de cobrança, que é anual/mensal ou pagamento por uso. |
period_type |
String |
Período de assinatura. Valor válido:
Esse parâmetro é válido e obrigatório somente quando charge_mode é definido como prePaid. Valor válido:
|
period_num |
Integer |
Esse parâmetro é válido e obrigatório somente quando charge_mode é definido como prePaid. Valor válido:
|
is_auto_renew |
String |
Se a renovação automática está ativada para instâncias de BD anuais/mensais. O período de renovação é o mesmo que o período original e o pedido será pago automaticamente durante a renovação da assinatura.
|
is_auto_pay |
String |
Se o pedido será pago automaticamente após a criação de instâncias anuais/mensais. Este parâmetro não afeta o método de pagamento de renovação automática.
|
Parâmetro |
Tipo |
Descrição |
---|---|---|
size |
Integer |
Espaço de armazenamento em GB. Valor: 10 a 128000. O valor deve ser um múltiplo de 10. |
Código de status: 400
Parâmetro |
Tipo |
Descrição |
---|---|---|
error_code |
String |
Código de erro. |
error_msg |
String |
Mensagem de erro. |
Código de status: 500
Parâmetro |
Tipo |
Descrição |
---|---|---|
error_code |
String |
Código de erro. |
error_msg |
String |
Mensagem de erro. |
Exemplo de solicitação
O valor de region é usado como exemplo.
- Criação de uma instância de BD faturada em uma base de pagamento por uso (um backup automatizado é criado entre as 08:00 e as 09:00.)
POST https://{endpoint}/v3/054e292c9880d4992f02c0196d3ea468/instances { "name" : "gaussdb-mysql-instance1", "region" : "br-iaas-odin1", "charge_info" : { "charge_mode" : "postPaid" }, "datastore" : { "type" : "gaussdb-mysql", "version" : "8.0" }, "mode" : "Cluster", "flavor_ref" : "gaussdb.mysql.xlarge.arm.4", "vpc_id" : "3cedfc54-b105-4652-a4e0-847b11576b58", "subnet_id" : "c1cfa53c-65d3-431e-8552-326bf310c7ad", "security_group_id" : "fc577a1a-f202-424a-977f-24faec3fdd55", "configuration_id" : "43570e0de32e40c5a15f831aa5ce4176pr07", "password" : "xxxxx", "backup_strategy" : { "start_time" : "08:00-09:00" }, "availability_zone_mode" : "single", "slave_count" : 1, "enterprise_project_id" : 0 }
- Restauração de dados em uma nova instância de BD de pagamento por uso usando backups
POST https://{endpoint}/v3/054e292c9880d4992f02c0196d3ea468/instances { "name" : "gaussdb-mysql-instance2", "region" : "br-iaas-odin1", "charge_info" : { "charge_mode" : "postPaid" }, "datastore" : { "type" : "gaussdb-mysql", "version" : "8.0" }, "mode" : "Cluster", "flavor_ref" : "gaussdb.mysql.xlarge.arm.4", "vpc_id" : "3cedfc54-b105-4652-a4e0-847b11576b58", "subnet_id" : "c1cfa53c-65d3-431e-8552-326bf310c7ad", "security_group_id" : "fc577a1a-f202-424a-977f-24faec3fdd55", "configuration_id" : "43570e0de32e40c5a15f831aa5ce4176pr07", "password" : "xxxx", "backup_strategy" : { "start_time" : "08:00-09:00" }, "availability_zone_mode" : "single", "slave_count" : 1, "enterprise_project_id" : 0, "restore_point" : { "source_instance_id" : "7033e7c3cf93438797d44ad7ae0a7d95in07", "backup_id" : "7ffbf305376b4cbea0ae491257b6aaf9br07", "type" : "backup" } }
- Restauração de dados em uma nova instância de pagamento por uso por meio de PITR
POST https://{endpoint}/v3/054e292c9880d4992f02c0196d3ea468/instances { "name" : "gaussdb-mysql-instance3", "region" : "br-iaas-odin1", "charge_info" : { "charge_mode" : "postPaid" }, "datastore" : { "type" : "gaussdb-mysql", "version" : "8.0" }, "mode" : "Cluster", "flavor_ref" : "gaussdb.mysql.xlarge.arm.4", "vpc_id" : "3cedfc54-b105-4652-a4e0-847b11576b58", "subnet_id" : "c1cfa53c-65d3-431e-8552-326bf310c7ad", "security_group_id" : "fc577a1a-f202-424a-977f-24faec3fdd55", "configuration_id" : "43570e0de32e40c5a15f831aa5ce4176pr07", "password" : "xxxxx", "backup_strategy" : { "start_time" : "08:00-09:00" }, "availability_zone_mode" : "single", "slave_count" : 1, "enterprise_project_id" : 0, "restore_point" : { "source_instance_id" : "7033e7c3cf93438797d44ad7ae0a7d95in07", "restore_time" : 1673852043000, "type" : "timestamp" } }
Exemplo de resposta
Código de status: 201
Os valores de region e master_availability_zone são usados como exemplos.
Bem-sucedido.
{ "instance" : { "id" : "5eebbb4c0f9f4a99b42ed1b6334569aain07", "name" : "gaussdb-mysql-instance1", "status" : "BUILD", "region" : "br-iaas-odin1", "charge_info" : { "charge_mode" : "postPaid" }, "datastore" : { "type" : "gaussdb-mysql", "version" : "8.0" }, "mode" : "Cluster", "port" : "3306", "enterprise_project_id" : 0, "flavor_ref" : "gaussdb.mysql.xlarge.arm.4", "vpc_id" : "3cedfc54-b105-4652-a4e0-847b11576b58", "subnet_id" : "c1cfa53c-65d3-431e-8552-326bf310c7ad", "security_group_id" : "fc577a1a-f202-424a-977f-24faec3fdd55", "configuration_id" : "43570e0de32e40c5a15f831aa5ce4176pr07", "backup_strategy" : { "start_time" : "08:00-09:00", "keep_days" : 7 }, "availability_zone_mode" : "single" }, "job_id" : "dff1d289-4d03-4942-8b9f-463ea07c000d" }
Código de status
Para mais detalhes, consulte Códigos de status.
Código de erro
Para mais detalhes, consulte Códigos de erro.