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
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
{ "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.