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.
Central de ajuda/ Document Database Service/ Referência de API/ APIs V3.0 (recomendada)/ Backup e restauração/ Restauração de dados em uma nova instância de banco de dados
Atualizado em 2023-05-06 GMT+08:00

Restauração de dados em uma nova instância de banco de dados

Descrição

Essa API é usada para restaurar um backup em uma nova instância de banco de dados.

Restrições

  • Essa API suporta a restauração de backups para instâncias de banco de dados anuais/mensais e de cobrança por uso.
  • O tipo de banco de dados da instância de banco de dados de destino deve ser o mesmo da instância de banco de dados de origem.
  • Atualmente, apenas instâncias de conjunto de réplicas e instâncias de cluster 4.0 podem ser restauradas para uma nova instância e para qualquer ponto no tempo.

Depuração

Você pode depurar essa API no API Explorer.

URI

  • Formato de URI

    POST https://{Endpoint}/v3/{project_id}/instances

  • Exemplo de URI

    https://dds.ap-southeast-1.myhuaweicloud.com/v3/97b026aa9cc4417888c14c84a1ad9860/instances

Tabela 1 Parâmetros de solicitação

Nome

Tipo

IN

Obrigatório

Descrição

x-auth-token

string

header

Sim

Token do usuário

project_id

string

path

Sim

ID do projeto de um locatário em uma região. Para obter o ID do projeto, consulte Obtenção de um ID de projeto.

Solicitações

  • Descrição do parâmetro
    Tabela 2 Descrição do parâmetro

    Nome

    Tipo

    Obrigatório

    Descrição

    name

    String

    Sim

    O nome da instância de banco de dados.

    O nome da ocorrência pode ser igual a um nome existente.

    O nome da ocorrência deve conter de 4 a 64 caracteres e deve começar com uma letra. É sensível a maiúsculas e minúsculas e pode conter letras, dígitos, hífens (-) e sublinhados (_). Não pode conter outros caracteres especiais.

    availability_zone

    String

    Sim

    ID da AZ.

    O valor não pode estar vazio. Para obter detalhes sobre como obter esse valor de parâmetro, consulte Regiões e pontos de extremidade.

    vpc_id

    String

    Sim

    ID da VPC

    Para obter detalhes sobre como obter esse valor de parâmetro, consulte Virtual Private Cloud na Referência de API da Virtual Private Cloud.

    O valor não pode estar vazio. O comprimento da cadeia e se a cadeia consoante com as regras de expressão regular UUID são verificados.

    subnet_id

    String

    Sim

    ID da sub-rede.

    Para obter detalhes sobre como obter esse valor de parâmetro, consulte Sub-rede na Referência de API da Virtual Private Cloud.

    security_group_id

    String

    Sim

    Especifica o ID do grupo de segurança ao qual uma instância de banco de dados especificada pertence.

    Para obter detalhes sobre como obter esse valor de parâmetro, consulte Grupo de segurança na Referência de API da Virtual Private Cloud.

    password

    String

    Não

    Senha do banco de dados.

    O valor deve ter de 8 a 32 caracteres e conter letras maiúsculas (A a Z), minúsculas (a a z), dígitos (0 a 9) e caracteres especiais, como ~!@#%^*-_=+?

    Digite uma senha forte para melhorar a segurança, evitando riscos de segurança, como quebra de força bruta.

    Se esse parâmetro não for transferido, defina uma senha para a instância antes de se conectar à instância. Para obter detalhes, consulte Redefinição da senha do administrador.

    disk_encryption_id

    String

    Não

    A ID da chave usada para criptografia de disco. A cadeia deve concordar com as regras de expressão regular do UUID.

    Se esse parâmetro não for transferido, a criptografia de disco não será executada.

    configurations

    Array of objects

    Não

    Informações de configuração do grupo de parâmetros. Para obter mais informações, consulte Tabela 4.

    Se este parâmetro não for transferido, o grupo de parâmetros padrão é usado.

    flavor

    Array of objects

    Sim

    Especificações de instância. Para obter mais informações, consulte Tabela 5.

    Para obter detalhes sobre como obter o valor, consulte o valor do parâmetro em Consulta de especificações do banco de dados.

    restore_point

    Object

    Sim

    Os detalhes sobre o backup a ser restaurado para uma nova instância de banco de dados. Para obter mais informações, consulte Tabela 3.

    backup_strategy

    Object

    Não

    Política de backup avançada. Para obter mais informações, consulte Tabela 6.

    enterprise_project_id

    String

    Não

    ID do projeto corporativo.

    • Este parâmetro não é transferido para usuários que não habilitaram o serviço multiprojeto corporativo.
    • Se esse parâmetro não for transferido para um usuário que habilitou o serviço multiprojeto corporativo, o valor será o projeto corporativo padrão.

    ssl_option

    String

    Não

    Habilitar ou desabilitar o SSL.

    Valor válido:

    • O valor 0 indica que o SSL está desabilitado por padrão.
    • O valor 1 indica que o SSL está habilitado por padrão.

    Se este parâmetro não for transferido, o SSL será ativado por padrão.

    dss_pool_id

    String

    Não

    O ID de armazenamento dedicado do usuário do DeC. O valor é deixado em branco por padrão. Somente os usuários do DeC podem definir esse parâmetro.

    server_group_policies

    Array of strings

    Não

    Os nomes das políticas associadas ao grupo do ECS do usuário do DeC. Os valores disponíveis incluem:

    • anti-affinity indica que a implantação de anti-afinidade está ativada para a instância do DDS. Para garantir alta disponibilidade, os nós primários, secundários e ocultos são criados em diferentes máquinas físicas.

    Se esse parâmetro não for transferido para usuários do DeC, a implantação de antiafinidade será desabilitada por padrão. Somente os usuários do DeC podem definir esse parâmetro.

    charge_info

    Object

    Não

    Modo de cobrança, que inclui anual/mensal e cobrança por uso. O modo de cobrança padrão é cobrança por uso.

    Para mais detalhes, consulte Tabela 7.

    Tabela 3 Descrição da estrutura de dados do campo Restore_point

    Nome

    Tipo

    Obrigatório

    Descrição

    instance_id

    String

    Não

    O ID da instância, que pode ser obtido ao chamar a API para consultar instâncias. Se você não tiver uma instância, poderá chamar a API usada para criar uma instância.

    • Este parâmetro é opcional quando type é definido como backup.
    • Este parâmetro é obrigatório quando type é definido como timestamp.

    type

    String

    Não

    O modo de recuperação. Os valores enumerados são os seguintes:

    • backup: indica a restauração a partir de arquivos de backup. Neste modo, backup_id é obrigatório quando type é opcional.
    • timestamp: indica restauração pontual. Nesse modo, restore_time é obrigatório quando type é obrigatório.

    backup_id

    String

    Não

    O ID do backup a ser restaurado. Este parâmetro deve ser especificado quando o arquivo de backup é usado para restauração.

    NOTA:

    Quando type não é obrigatório, backup_id é obrigatório.

    restore_time

    Integer

    Não

    O momento em que os dados são restaurados no carimbo de data/hora UNIX. A unidade é milissegundo e o fuso horário é UTC.

    NOTA:

    Quando type é obrigatório, restore_time é obrigatório.

    Tabela 4 Descrição da estrutura de dados do campo de configurations

    Parâmetro

    Tipo

    Obrigatório

    Descrição

    type

    String

    Sim

    O tipo de nó. Valor válido:

    • Para uma instância de cluster, o valor pode ser mongos, shard ou config.
    • Para uma instância de conjunto de réplicas, o valor é replica.
    • Para uma instância de nó único, o valor é single.

    Valores enumerados:

    • mongos
    • shard
    • config
    • replica
    • single

    configuration_id

    String

    Sim

    ID do grupo de parâmetros

    Tabela 5 Estrutura de dados do campo de flavor

    Nome

    Tipo

    Obrigatório

    Descrição

    type

    String

    Sim

    O tipo de nó.

    Valor válido:

    • Para uma instância de cluster, o valor pode ser mongos, shard ou config.
    • Para uma instância de conjunto de réplicas, o valor é replica.
    • Para uma instância de nó único, o valor é single.

    num

    String

    Sim

    A quantidade de nó.

    Valor válido:

    • Em uma instância de cluster, o número de nós mongos varia de 2 a 32.
    • config: O valor é 1.
    • replica: O valor é 1.
    • single: O valor é 1.

    size

    String

    Não

    O tamanho do disco.

    O valor deve ser um múltiplo de 10. A unidade é GB.

    • Em uma instância de cluster, o tamanho do shard varia de 10 GB a 2000 GB e deve ser maior ou igual ao tamanho do disco da instância original. O tamanho da configuração só pode ser de 20 GB. Este parâmetro é inválido para nós mongos. Portanto, você não precisa especificar o espaço de armazenamento para nós mongos.
    • Em uma instância de conjunto de réplicas, o tamanho do disco varia de 10 GB a 3000 GB e deve ser maior ou igual ao tamanho do disco da instância original.
    • Em uma instância de nó único, o tamanho do disco varia de 10 GB a 1000 GB e deve ser maior ou igual ao tamanho do disco da instância original.

    spec_code

    String

    Sim

    O código de especificação do recurso. Para obter detalhes sobre como obter o valor, consulte o valor do parâmetro em Consulta de especificações do banco de dados.

    Tabela 6 Descrição da estrutura de dados do campo backup_strategy

    Nome

    Tipo

    Obrigatório

    Descrição

    start_time

    String

    Sim

    A janela de tempo de backup. Os backups automatizados serão acionados durante a janela de tempo de backup.

    O valor não pode estar 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:

    23:00-00:00

    keep_days

    String

    Não

    O número de dias para reter os arquivos de backup gerados.

    A faixa de valores é de 0 a 732.

    • Se esse parâmetro for definido como 0, a política de backup automatizado não será definida.
    • Se esse parâmetro não for transferido, a política de backup automático será ativada por padrão. Os arquivos de backup são armazenados por sete dias por padrão.
    Tabela 7 Estrutura de dados do campo ChargeInfo

    Parâmetro

    Tipo

    Obrigatório

    Descrição

    charge_mode

    String

    Sim

    Modo de cobrança. Intervalo de valores:

    • prePaid: indica o modo de cobrança anual/mensal.
    • postPaid: indica o modo de cobrança cobrança por uso.

    period_type

    String

    Não

    Período de subscrição. Este parâmetro é válido e obrigatório somente quando charge_mode estiver definido como prePaid. Intervalo de valores:

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

    period_num

    Integer

    Não

    Este parâmetro é válido e obrigatório somente quando charge_mode estiver definido como prePaid. Intervalo de valores:

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

    is_auto_renew

    Boolean

    Não

    Se a renovação automática está ativada para instâncias 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. Intervalo de valores:

    • true: indica que a assinatura é renovada automaticamente.
    • false: indica que a assinatura não é renovada automaticamente. O valor padrão é false.

    is_auto_pay

    Boolean

    Não

    Método de cobrança. Ao criar uma instância de banco de dados anual/mensal, você pode especificar se deseja pagar automaticamente com sua conta. Este parâmetro não afeta o método de cobrança de renovação automática. Intervalo de valores:

    • true: indica que a taxa é paga automaticamente da conta.
    • false: indica que a taxa é paga manualmente a partir da conta. Este método de cobrança é usado por padrão.

    Os valores de region e availability_zone são usados como exemplos.

  • Exemplo de solicitação

    Restauração de um backup em uma nova instância de cluster:

    {
      "name": "test-cluster-01",
      "availability_zone": "az1xahz",
      "vpc_id": "674e9b42-cd8d-4d25-a2e6-5abcc565b961",
      "subnet_id": "f1df08c5-71d1-406a-aff0-de435a51007",
      "security_group_id": "7aa51dbf-5b63-40db-9724-dad3c4828b58",
      "password": "******",
      "configurations": [
        {
          "type": "mongos",
          "configuration_id": "acb288dbd1174f26a8960b45591bd98apr02"
        },
        {
          "type": "shard",
          "configuration_id": "5bca546f0be64b038124ef9cedd1bfa1pr02"
        },
        {
          "type": "config",
          "configuration_id": "4d123b3ba8294921802b11bf4d8c5735pr02"
        }
      ],
      "restore_point": {
        "backup_id": "8f643d252d834a4c916b2db4322f99552734"
      },
      "flavor": [
        {
          "type": "mongos",
          "num": "2",
          "spec_code": "dds.mongodb.c6.medium.4.mongos"
        },
        {
          "type": "shard",
          "size": "20",
          "spec_code": "dds.mongodb.c6.medium.4.shard"
        },
        {
          "type": "config",
          "num": "1",
          "size": "20",
          "spec_code": "dds.mongodb.c6.large.2.config"
        }
      ],
      "backup_strategy": {
        "start_time": "08:15-09:15",
        "keep_days": "8"
      },
      "ssl_option": "1",
      "dss_pool_id": "f5f84ed7-6f19-4bd4-99d7-b450ad6cc4dd",
      "server_group_policies": [
        "anti-affinity"
      ]
    }

    Restauração de um backup para uma nova instância do conjunto de réplicas:

    "name": "test-replicaset",
    "availability_zone": "az1xahz",
    "vpc_id": "674e9b42-cd8d-4d25-a2e6-5abcc565b961",
    "subnet_id": "f1df08c5-71d1-406a-aff0-de435a51007",
    "security_group_id": "7aa51dbf-5b63-40db-9724-dad3c4828b58",
    "password": "******",
    "configurations": [
      {
        "type": "replica",
        "configuration_id": "f17e3aad778440fbb68603c8c9032003pr02"
      }
    ],
    "restore_point": {
      "backup_id": "8f643d252d834a4c916b2db4322f99552734"
    },
    "flavor": [
      {
        "type": "replica",
        "num": "1",
        "storage": "ULTRAHIGH",
        "size": "30",
        "spec_code": "dds.mongodb.s2.medium.4.repset"
      }
    ],
    "backup_strategy": {
      "start_time": "08:15-09:15",
      "keep_days": "8"
    },
    "ssl_option": "1"
    }

    Restauração de um backup para uma nova instância de nó único:

    {
      "name": "test-singlenode",
      "availability_zone": "az1xahz",
      "vpc_id": "674e9b42-cd8d-4d25-a2e6-5abcc565b961",
      "subnet_id": "f1df08c5-71d1-406a-aff0-de435a51007",
      "security_group_id": "7aa51dbf-5b63-40db-9724-dad3c4828b58",
      "password": "******",
      "configurations": [
        {
          "type": "single",
          "configuration_id": "b8e962e66ede47609a94cba591735b49pr02"
        }
      ],
      "restore_point": {
        "backup_id": "8f643d252d834a4c916b2db4322f99552734"
      },
      "flavor": [
        {
          "type": "single",
          "num": "1",
          "storage": "ULTRAHIGH",
          "size": "30",
          "spec_code": "dds.mongodb.c6.medium.4.single"
        }
      ],
      "backup_strategy": {
        "start_time": "08:15-09:15",
        "keep_days": "8"
      },
      "ssl_option": "1"
    }

    Restauração de um backup para uma nova instância do conjunto de réplicas em um ponto no tempo:

    {
      "name": "replica-liuyunj1",
      "availability_zone": "az1xahz",
      "vpc_id": "dcdadabc-efed-4518-8b34-4af66fcd97e7",
      "subnet_id": "4a9348f2-f232-4700-a440-2f1641d80960",
      "security_group_id": "c57b9db2-cccb-4c0d-b058-7ea51dda0c99",
      "flavor": [
        {
          "type": "replica",
          "num": 1,
          "size": 100,
          "spec_code": "dds.mongodb.c6.large.2.repset"
        }
      ],
      "backup_strategy": {
        "start_time": "08:00-09:00",
        "keep_days": "8"
      },
      "restore_point": {
        "instance_id": "d5833c2854a4486cb7960f829269e211in02",
        "type": "timestamp",
        "restore_time": 1607689584000
      },
      "ssl_option": "1"
    }

Respostas

  • Descrição do parâmetro
    Tabela 8 Descrição do parâmetro

    Nome

    Tipo

    Obrigatório

    Descrição

    id

    String

    Não

    O ID da instância de banco de dados.

    name

    String

    Não

    Nome da instância, que é o mesmo que o parâmetro de solicitação.

    datastore

    Object

    Não

    Informações do banco de dados, que é o mesmo que o parâmetro de solicitação. Para obter mais informações, consulte Tabela 3.

    created

    String

    Não

    Tempo de criação, que está no formato aaaa-mm-dd hh:mm:ss.

    status

    String

    Não

    O status da instância de banco de dados. O valor é creating.

    region

    String

    Não

    ID da região, que é o mesmo que o parâmetro de solicitação.

    availability_zone

    String

    Não

    ID da AZ, que é o mesmo que o parâmetro request.

    vpc_id

    String

    Não

    ID da VPC, que é o mesmo que o parâmetro de solicitação.

    subnet_id

    String

    Não

    ID de sub-rede, que é o mesmo que o parâmetro de solicitação.

    security_group_id

    String

    Não

    O ID do grupo de segurança ao qual a instância pertence. É o mesmo que o parâmetro de solicitação.

    disk_encryption_id

    String

    Não

    O ID da chave de criptografia do disco. É o mesmo que o parâmetro de solicitação.

    mode

    String

    Não

    Tipo de instância, que é o mesmo que o parâmetro de solicitação.

    configurations

    Array of objects

    Não

    Informações de configuração do grupo de parâmetros.

    Para mais detalhes, consulte Tabela 9.

    flavor

    Array of objects

    Não

    Especificação de instância, que é a mesma que o parâmetro de solicitação. Para obter mais informações, consulte Tabela 5.

    backup_strategy

    Object

    Não

    Política de backup avançada, que é a mesma que o parâmetro de solicitação. Para obter mais informações, consulte Tabela 6.

    enterprise_project_id

    String

    Não

    ID do projeto corporativo. Se o valor for 0, o recurso pertence ao projeto corporativo padrão.

    dss_pool_id

    String

    Não

    O ID do pool de armazenamento DSS do usuário do DeC.

    job_id

    String

    Não

    O ID do fluxo de trabalho para criar uma instância de banco de dados.

    ssl_option

    String

    Não

    Indica se o SSL deve ser ativado, que funciona da mesma forma que o parâmetro de solicitação.

    order_id

    String

    Não

    O ID do pedido para criar uma instância. Este parâmetro é retornado somente quando você cria uma instância anual/mensal.

    charge_info

    Object

    Não

    Modo de cobrança, que é o mesmo que o parâmetro de solicitação.

    Para mais detalhes, consulte Tabela 10.

    Tabela 9 Descrição da estrutura de dados do campo configurations

    Parâmetro

    Tipo

    Obrigatório

    Descrição

    type

    String

    Sim

    O tipo de nó. Valor válido:

    • Para uma instância de cluster, o valor pode ser mongos, shard ou config.
    • Para uma instância de conjunto de réplicas, o valor é replica.
    • Para uma instância de nó único, o valor é single.

    Valores enumerados:

    • mongos
    • shard
    • config
    • replica
    • single

    configuration_id

    String

    Sim

    ID do grupo de parâmetros

    Tabela 10 Estrutura de dados do campo ChargeInfo

    Parâmetro

    Tipo

    Obrigatório

    Descrição

    charge_mode

    String

    Sim

    Modo de cobrança. Intervalo de valores:

    • prePaid: indica o modo de cobrança anual/mensal.
    • postPaid: indica o modo de cobrança cobrança por uso.

    period_type

    String

    Não

    Período de subscrição. Este parâmetro é válido e obrigatório somente quando charge_mode estiver definido como prePaid. Intervalo de valores:

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

    period_num

    Integer

    Não

    Este parâmetro é válido e obrigatório somente quando charge_mode estiver definido como prePaid. Intervalo de valores:

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

    is_auto_renew

    Boolean

    Não

    Se a renovação automática está ativada para instâncias 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. Intervalo de valores:

    • true: indica que a assinatura é renovada automaticamente.
    • false: indica que a assinatura não é renovada automaticamente. O valor padrão é false.

    is_auto_pay

    Boolean

    Não

    Método de cobrança. Ao criar uma instância de banco de dados anual/mensal, você pode especificar se deseja pagar automaticamente com sua conta. Este parâmetro não afeta o método de cobrança de renovação automática. Intervalo de valores:

    • true: indica que a taxa é paga automaticamente da conta.
    • false: indica que a taxa é paga manualmente a partir da conta. Este método de cobrança é usado por padrão.

    Os valores de region e availability_zone são usados como exemplos.

  • Exemplo de resposta

    Instância do cluster:

    {
      "id": "39b6a1a278844ac48119d86512e0000bin02",
      "name": "test-cluster-01",
      "datastore": {
        "type": "DDS-Community",
        "version": "3.4",
        "storage_engine": "wiredTiger"
      },
      "created": "2019-01-16 09:34:36",
      "status": "creating",
      "region": "aaa",
      "availability_zone": "az1xahz",
      "vpc_id": "490a4a08-ef4b-44c5-94be-3051ef9e4fce",
      "subnet_id": "0e2eda62-1d42-4d64-a9d1-4e9aa9cd994f",
      "security_group_id": "2a1f7fc8-3307-42a7-aa6f-42c8b9b8f8c5",
      "disk_encryption_id": "2gfdsh-844a-4023-a776-fc5c5fb71fb4",
      "mode": "Sharding",
      "configurations": [
        {
          "type": "mongos",
          "configuration_id": "acb288dbd1174f26a8960b45591bd98apr02"
        },
        {
          "type": "shard",
          "configuration_id": "5bca546f0be64b038124ef9cedd1bfa1pr02"
        },
        {
          "type": "config",
          "configuration_id": "4d123b3ba8294921802b11bf4d8c5735pr02"
        }
      ],
      "flavor": [
        {
          "type": "mongos",
          "num": "2",
          "spec_code": "dds.mongodb.c6.medium.4.mongos"
        },
        {
          "type": "shard",
          "num": "2",
          "spec_code": "dds.mongodb.c6.medium.4.shard",
          "size": "20"
        },
        {
          "type": "config",
          "num": "1",
          "spec_code": "dds.mongodb.c6.large.2.config",
          "size": "20"
        }
      ],
      "backup_strategy": {
        "start_time": "08:15-09:15",
        "keep_days": "8"
      },
      "enterprise_project_id": "",
      "ssl_option": "1",
      "dss_pool_id": "f5f84ed7-6f19-4bd4-99d7-b450ad6cc4dd",
      "job_id": "c010abd0-48cf-4fa8-8cbc-090f093eaa2f"
    }

SDK

Clique em SDK do Document Database Service DDS para fazer download do SDK ou exibir o documento do SDK. Para saber como instalar e autenticar um SDK, leia a seção Uso.

Código de status

Para obter mais informações, consulte Código de status.

Código de erro

Para obter mais informações, consulte Código de erro.