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-29 GMT+08:00

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:

URI

POST /v3/{project_id}/instances

Tabela 1 Parâmetros de URI

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

Tabela 2 Parâmetros de cabeçalho 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:

  • en-us
  • zh-cn
Tabela 3 Parâmetros do corpo da solicitação

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:

  • Método 1: faça logon no console da VPC e visualize o ID da VPC na página de detalhes da VPC.
  • Método 2: consulte "Consulta de VPCs" na Referência de API da Virtual Private Cloud.

subnet_id

Sim

String

ID da rede. Para obter esse valor, use um dos seguintes métodos:

  • Método 1: faça logon no console da VPC e clique na sub-rede de destino na página Subnets. Você pode visualizar o ID da rede na página exibida.
  • Método 2: consulte "Consulta de sub-redes" na Referência de API da Virtual Private Cloud.

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.

  • Método 1: faça logon no console da VPC. Escolha Access Control > Security Groups no painel de navegação à esquerda. Na página exibida, clique no grupo de segurança de destino. Você pode visualizar o ID do grupo de segurança na página exibida.
  • Método 2: consulte "Consulta de grupos de segurança" na Referência de API da Virtual Private Cloud.

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.

  • Se availability_zone_mode for definido como multi, este parâmetro é obrigatório.
  • Se availability_zone_mode for definido como single, esse parâmetro não poderá ser especificado.

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.

  • {key} indica a chave da tag. Deve ser único e não pode estar vazio.
  • {value} indica o valor da tag, que pode estar vazio.

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:

  • 0: os nomes das tabelas são fixos e diferenciam maiúsculas de minúsculas.
  • 1: os nomes das tabelas são armazenados em minúsculas e não diferenciam maiúsculas de minúsculas.

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.

Tabela 4 MysqlChargeInfo

Parâmetro

Obrigatório

Tipo

Descrição

charge_mode

Sim

String

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.

period_type

Não

String

Período de assinatura.

Valor válido:

  • month: o serviço é assinado por mês.
  • year: o serviço é assinado por ano.
    NOTA:

    Este parâmetro é válido e obrigatório se charge_mode estiver definido como prePaid.

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:

  • Quando period_type é definido como month, o valor do parâmetro varia de 1 a 9.
  • Quando period_type é definido como year, o valor do parâmetro varia de 1 a 3.

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.

  • true: indica que a renovação automática está ativada.
  • false: indica que a renovação automática está desativada. O valor padrão é false.

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.

  • true: indica que o pedido será pago automaticamente.
  • false: indica que o pedido será pago manualmente. O valor padrão é false.
Tabela 5 MysqlDatastore

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.

Tabela 6 MysqlBackupStrategy

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.

  • O valor de HH deve ser 1 maior que o valor de hh.
  • Os valores de mm e MM devem ser os mesmos e devem ser definidos como 00.

Exemplo de valor:

21:00-22:00

keep_days

Não

String

Período de retenção de backups automatizados.

Valor: 1 a 732

Tabela 7 MysqlVolume

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.

Tabela 8 MysqlTags

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.

Tabela 9 MysqlRestorePoint

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.

  • Se esse parâmetro for deixado em branco, backup_id não pode ser deixado em branco e os dados são restaurados usando arquivos de backup por padrão.
  • Quando o parâmetro não está vazio, o valor pode ser:
    • backup: indica que os dados são restaurados usando arquivos de backup.
    • timestamp: indica que os dados são restaurados para um ponto de tempo especificado.

Parâmetros de resposta

Código de status: 201

Tabela 10 Parâmetros do corpo de resposta

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.

Tabela 11 MysqlInstanceResponse

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.

Tabela 12 MysqlDatastore

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.

Tabela 13 MysqlBackupStrategy

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.

  1. O valor de HH deve ser 1 maior que o valor de hh.
  2. Os valores de mm e MM devem ser os mesmos e devem ser definidos como 00.

keep_days

String

Dias de retenção de backup automatizado. Valor: 1-732.

Tabela 14 MysqlChargeInfo

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:

  • month: o serviço é assinado por mês.
  • year: o serviço é assinado por ano.

Esse parâmetro é válido e obrigatório somente quando charge_mode é definido como prePaid.

Valor válido:

  • month
  • year

period_num

Integer

Esse parâmetro é válido e obrigatório somente quando charge_mode é definido como prePaid.

Valor válido:

  • Quando period_type é definido como month, o valor do parâmetro varia de 1 a 9.
  • Quando period_type é definido como year, o valor do parâmetro varia de 1 a 3.

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.

  • true: indica que a renovação automática está ativada.
  • false: indica que a renovação automática está desativada. O valor padrão é false.

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.

  • true: indica que o pedido será pago automaticamente de sua conta. O valor padrão é true.
  • false: indica que o pedido será pago manualmente.
Tabela 15 MysqlVolumeResp

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

Tabela 16 Parâmetros do corpo de resposta

Parâmetro

Tipo

Descrição

error_code

String

Código de erro.

error_msg

String

Mensagem de erro.

Código de status: 500

Tabela 17 Parâmetros do corpo de resposta

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.