Nesta página, você encontra informações sobre as operações de backup do Spanner. Para mais informações sobre backups, consulte Visão geral de backups.
Antes de começar
-
Para ter as permissões necessárias para gerenciar backups, peça ao administrador para conceder a você os seguintes papéis do IAM na instância:
-
Crie, visualize, atualize e exclua backups:
Administrador de backup do Cloud Spanner (
roles/spanner.backupAdmin
) -
Crie e visualize backups:
Gravador de backup do Cloud Spanner (
roles/spanner.backupWriter
)
-
Crie, visualize, atualize e exclua backups:
Administrador de backup do Cloud Spanner (
Os exemplos da CLI gcloud nesta página pressupõem o seguinte:
- Você já configurou a gcloud CLI para usar com no Spanner. Se você nunca usou a CLI gcloud com Spanner, consulte Introdução ao Spanner usando a gcloud CLI.
Você configurou CLI gcloud com seu projeto. Exemplo:
gcloud config set core/project PROJECT_ID
Copiar um backup
Console
No console do Google Cloud, acesse a página Instâncias do Spanner.
Clique na instância que contém o banco de dados que você quer copiar.
Clique no banco de dados.
No painel de navegação, clique em Backup/restauração.
Na tabela Backups, selecione Ações para o backup e clique em Copiar.
Preencha o formulário escolhendo uma instância de destino, fornecendo um nome e selecionando uma data de validade para a cópia de backup.
Clique em Copiar.
Para verificar o progresso de uma operação de cópia, consulte Verifique o progresso da operação.
Se a operação demorar muito, será possível cancelá-la. Para mais informações, consulte Cancelar uma operação de instância de longa duração.
gcloud
É possível copiar um backup para uma instância diferente no mesmo projeto instância diferente em um projeto diferente.
Copiar um backup no mesmo projeto
Se você optar por copiar o backup para uma instância diferente no mesmo projeto,
crie uma nova instância (ou tenha uma pronta) para o backup copiado. Você
não pode criar uma nova instância como parte da operação de cópia de backup. Além disso,
o tempo de expiração do backup deve ser de pelo menos seis horas a partir do momento
a solicitação de cópia atual for processada e, no máximo, 366 dias após a create_time
do backup de origem.
Antes de usar os dados do comando abaixo, faça estas substituições:
- PROJECT_ID: o ID do projeto;
- SOURCE_INSTANCE_ID: o ID da instância de origem do Spanner.
- SOURCE_DATABASE_ID: o ID do banco de dados de origem do Spanner.
- SOURCE_BACKUP_NAME: o nome do backup do Spanner.
- DESTINATION_INSTANCE_ID: o ID da instância de destino do Spanner.
- DESTINATION_BACKUP_NAME: o nome do backup de destino do Spanner.
- EXPIRATION_DATE: carimbo de data/hora da data de validade.
Execute o seguinte comando:
Linux, macOS ou Cloud Shell
gcloud spanner backups copy \ --source-instance=INSTANCE_ID \ --source-backup=SOURCE_BACKUP_NAME \ --destination-instance=DESTINATION_INSTANCE_ID \ --destination-backup=DESTINATION_BACKUP_NAME \ --expiration-date=EXPIRATION_DATE
Windows (PowerShell)
gcloud spanner backups copy ` --source-instance=INSTANCE_ID ` --source-backup=SOURCE_BACKUP_NAME ` --destination-instance=DESTINATION_INSTANCE_ID ` --destination-backup=DESTINATION_BACKUP_NAME ` --expiration-date=EXPIRATION_DATE
Windows (cmd.exe)
gcloud spanner backups copy ^ --source-instance=INSTANCE_ID ^ --source-backup=SOURCE_BACKUP_NAME ^ --destination-instance=DESTINATION_INSTANCE_ID ^ --destination-backup=DESTINATION_BACKUP_NAME ^ --expiration-date=EXPIRATION_DATE
Você receberá uma resposta semelhante a esta:
createTime: '2022-03-29T22:06:05.905823Z' database: projects/PROJECT_ID/instances/INSTANCE_ID/databases/SOURCE_DATABASE_ID databaseDialect: GOOGLE_STANDARD_SQL encryptionInfo: encryptionType: GOOGLE_DEFAULT_ENCRYPTION expireTime: '2022-03-30T10:49:41Z' maxExpireTime: '2023-03-17T20:46:33.479336Z' name: projects/PROJECT_ID/instances/DESTINATION_INSTANCE_ID/backups/DESTINATION_BACKUP_NAME sizeBytes: '7957667' state: READY versionTime: '2022-03-16T20:46:33.479336Z'
Copiar um backup em um projeto diferente
Se você optar por copiar o backup para um projeto diferente, precisará ter outro
com a própria instância pronta para o backup copiado. Não é possível criar um
novo projeto como parte da operação de cópia de backup. Além disso,
o tempo de expiração do backup deve ser de pelo menos seis horas a partir do momento
solicitação de cópia atual é processada e, no máximo, 366 dias após a origem
faça backup create_time
.
Antes de usar os dados do comando abaixo, faça estas substituições:
- SOURCE_PROJECT_ID: o ID do projeto de origem.
- SOURCE_INSTANCE_ID: o ID da instância de origem do Spanner.
- SOURCE_DATABASE_ID: o ID do banco de dados de origem do Spanner.
- SOURCE_BACKUP_NAME: o nome do backup do Spanner.
- DESTINATION_PROJECT_ID: o ID do projeto de destino.
- DESTINATION_INSTANCE_ID: o ID da instância de destino do Spanner.
- DESTINATION_BACKUP_NAME: o nome do backup de destino do Spanner.
- EXPIRATION_DATE: carimbo de data/hora da data de validade.
Execute o seguinte comando:
Linux, macOS ou Cloud Shell
gcloud spanner backups copy \ --source-backup=projects/SOURCE_PROJECT_ID/instances/INSTANCE_ID/backups/SOURCE_BACKUP_NAME \ --destination-backup=projects/DESTINATION_PROJECT_ID/instances/DESTINATION_INSTANCE_ID/backups/DESTINATION_BACKUP_NAME \ --expiration-date=EXPIRATION_DATE
Windows (PowerShell)
gcloud spanner backups copy ` --source-backup=projects/SOURCE_PROJECT_ID/instances/INSTANCE_ID/backups/SOURCE_BACKUP_NAME ` --destination-backup=projects/DESTINATION_PROJECT_ID/instances/DESTINATION_INSTANCE_ID/backups/DESTINATION_BACKUP_NAME ` --expiration-date=EXPIRATION_DATE
Windows (cmd.exe)
gcloud spanner backups copy ^ --source-backup=projects/SOURCE_PROJECT_ID/instances/INSTANCE_ID/backups/SOURCE_BACKUP_NAME ^ --destination-backup=projects/DESTINATION_PROJECT_ID/instances/DESTINATION_INSTANCE_ID/backups/DESTINATION_BACKUP_NAME ^ --expiration-date=EXPIRATION_DATE
Você receberá uma resposta semelhante a esta:
createTime: '2022-03-29T22:06:05.905823Z' database: projects/SOURCE_PROJECT_ID/instances/INSTANCE_ID/databases/DATABASE_ID databaseDialect: GOOGLE_STANDARD_SQL encryptionInfo: encryptionType: GOOGLE_DEFAULT_ENCRYPTION expireTime: '2022-03-30T10:49:41Z' maxExpireTime: '2023-03-17T20:46:33.479336Z' name: projects/DESTINATION_PROJECT_ID/instances/DESTINATION_INSTANCE_ID/backups/DESTINATION_BACKUP_NAME sizeBytes: '7957667' state: READY versionTime: '2022-03-16T20:46:33.479336Z'
Para verificar o progresso de uma operação de cópia, consulte Verifique o progresso da operação.
Bibliotecas de cliente
O exemplo de código a seguir copia um backup existente. É possível copiar o backup
em uma instância de uma região
ou projeto diferente. Depois de concluída, a amostra
recupera e imprime algumas informações sobre o backup copiado recém-criado,
como nome, tamanho, estado do backup e version_time
.
C++
C#
Go
Java
Node.js
PHP
Python
Ruby
Verificar o progresso da operação
Console
No console do Google Cloud, acesse a página Instâncias do Spanner.
Clique na instância que contém o banco de dados com a operação de backup que você quer ver.
Clique no banco de dados.
No painel de navegação, clique em Operações. A página Operações mostra uma lista de em execução.
gcloud
Usar gcloud spanner operations describe
para verificar o progresso de uma operação.
Consiga o ID da operação:
Antes de usar os dados do comando abaixo, faça estas substituições:
- INSTANCE_NAME: o nome da instância do Spanner.
- DATABASE_NAME: o nome do banco de dados do Spanner.
Execute o seguinte comando:
Linux, macOS ou Cloud Shell
gcloud spanner operations list --instance=INSTANCE_NAME \ --database=DATABASE_NAME --type=backup
Windows (PowerShell)
gcloud spanner operations list --instance=INSTANCE_NAME ` --database=DATABASE_NAME --type=backup
Windows (cmd.exe)
gcloud spanner operations list --instance=INSTANCE_NAME ^ --database=DATABASE_NAME --type=backup
Você receberá uma resposta semelhante a esta:
OPERATION_ID DONE @TYPE BACKUP SOURCE_DATABASE START_TIME END_TIME _auto_op_123456 True CreateBackupMetadata example-db-backup-7 example-db 2020-02-04T02:12:38.075515Z 2020-02-04T02:22:40.581170Z _auto_op_234567 True CreateBackupMetadata example-db-backup-6 example-db 2020-02-04T02:05:43.920377Z 2020-02-04T02:07:59.089820Z
Observações sobre o uso:
Para limitar a lista, especifique a sinalização
--filter
. Exemplo:--filter="metadata.name:example-db"
lista apenas as operações em um banco de dados específico.--filter="error:*"
lista apenas as operações de backup que falharam.
Para informações sobre a sintaxe do filtro, consulte
gcloud topic filters
. Para mais informações sobre como filtrar operações de backup, consulte o campofilter
emListBackupOperationsRequest
.A sinalização
--type
não diferencia maiúsculas de minúsculas.
Execute
gcloud spanner operations describe
:Antes de usar os dados do comando abaixo, faça estas substituições:
- OPERATION_ID: o ID da operação.
- INSTANCE_NAME: o nome da instância do Spanner.
- DATABASE_NAME: o nome do banco de dados do Spanner.
Execute o seguinte comando:
Linux, macOS ou Cloud Shell
gcloud spanner operations describe OPERATION_ID \ --instance=INSTANCE_NAME \ --backup=BACKUP_NAME \
Windows (PowerShell)
gcloud spanner operations describe OPERATION_ID ` --instance=INSTANCE_NAME ` --backup=BACKUP_NAME `
Windows (cmd.exe)
gcloud spanner operations describe OPERATION_ID ^ --instance=INSTANCE_NAME ^ --backup=BACKUP_NAME ^
Você receberá uma resposta semelhante a esta:
done: true metadata: ... progress: - endTime: '2022-03-01T00:28:06.691403Z' progressPercent: 100 startTime: '2022-03-01T00:28:04.221401Z' - endTime: '2022-03-01T00:28:17.624588Z' startTime: '2022-03-01T00:28:06.691403Z' progressPercent: 100 ...
progress
na saída mostra a porcentagem de operação que está completa.Se a operação demorar muito, será possível cancelá-la. Para mais informações, consulte Cancelar uma operação de backup de longa duração.
Bibliotecas de cliente
O exemplo de código a seguir lista todas as operações contínuas para criar backups (operações
com CreateBackupMetadata
) e copiar backups
(operações com CopyBackupMetadata
)
filtradas por um determinado banco de dados.
Para informações sobre a sintaxe de filtragem, consulte o parâmetro filter
em
backupOperations.list
.
C++
C#
Para listar todas as operações de criação de backup:
Para listar todas as operações de backup de cópia:
Go
Java
Node.js
PHP
Python
Ruby
Para listar todas as operações de criação de backup:
Para listar todas as operações de backup de cópia:
Cancelar operação de backup
Console
O console do Google Cloud não é compatível com o cancelamento de uma operação de backup. No entanto, é possível cancelar operações demoradas usando o método Google Cloud CLI, REST ou API RPC. Para mais informações, consulte Cancelar uma operação de instância de longa duração.
gcloud
Consiga o ID da operação:
Antes de usar os dados do comando abaixo, faça estas substituições:
- INSTANCE_NAME: o nome da instância do Spanner.
- DATABASE_NAME: o nome do banco de dados do Spanner.
Execute o seguinte comando:
Linux, macOS ou Cloud Shell
gcloud spanner operations list --instance=INSTANCE_NAME \ --database=DATABASE_NAME --type=backup
Windows (PowerShell)
gcloud spanner operations list --instance=INSTANCE_NAME ` --database=DATABASE_NAME --type=backup
Windows (cmd.exe)
gcloud spanner operations list --instance=INSTANCE_NAME ^ --database=DATABASE_NAME --type=backup
Você receberá uma resposta semelhante a esta:
OPERATION_ID DONE @TYPE BACKUP SOURCE_DATABASE START_TIME END_TIME _auto_op_123456 True CreateBackupMetadata example-db-backup-7 example-db 2020-02-04T02:12:38.075515Z 2020-02-04T02:22:40.581170Z _auto_op_234567 True CreateBackupMetadata example-db-backup-6 example-db 2020-02-04T02:05:43.920377Z 2020-02-04T02:07:59.089820Z
Observações sobre o uso:
Para limitar a lista, especifique a sinalização
--filter
. Exemplo:--filter="metadata.name:example-db"
lista apenas as operações em um banco de dados específico.--filter="error:*"
lista apenas as operações de backup que falharam.
Para informações sobre a sintaxe do filtro, consulte
gcloud topic filters
. Para mais informações sobre como filtrar operações de backup, consulte o campofilter
emListBackupOperationsRequest
.A sinalização
--type
não diferencia maiúsculas de minúsculas.
Usar
gcloud spanner operations cancel
para cancelar uma operação de backup.Antes de usar os dados do comando abaixo, faça estas substituições:
- OPERATION_ID: o ID da operação.
- INSTANCE_NAME: o nome da instância do Spanner.
- DATABASE_NAME: o nome do banco de dados do Spanner.
- BACKUP_NAME: o nome do backup do Spanner.
Execute o seguinte comando:
Linux, macOS ou Cloud Shell
gcloud spanner operations cancel OPERATION_ID --instance=INSTANCE_NAME \ --database=DATABASE_NAME --backup=BACKUP_NAME
Windows (PowerShell)
gcloud spanner operations cancel OPERATION_ID --instance=INSTANCE_NAME ` --database=DATABASE_NAME --backup=BACKUP_NAME
Windows (cmd.exe)
gcloud spanner operations cancel OPERATION_ID --instance=INSTANCE_NAME ^ --database=DATABASE_NAME --backup=BACKUP_NAME
Bibliotecas de cliente
O exemplo de código a seguir cria um backup, cancela a operação de backup e
aguarda até que a operação de backup seja done
. Se a operação foi
cancelado, ele retornará cancelTime
e uma mensagem de erro. Se o
de backup foi concluída antes de ser cancelado, o backup existe e você pode excluí-lo.
C++
C#
Go
Java
Node.js
PHP
Python
Ruby
Receber informações de backup
Console
No console do Google Cloud, acesse a página Instâncias do Spanner.
Clique na instância que contém o banco de dados com as informações de backup que você quer ver.
Clique no banco de dados para abrir a página Visão geral correspondente.
No painel de navegação, clique em Backup/restauração. Você pode acessar o backup informações do backup selecionado no banco de dados.
gcloud
Para informações sobre um backup,
use gcloud spanner backups describe
.
Antes de usar os dados do comando abaixo, faça estas substituições:
- PROJECT_ID: o ID do projeto;
- INSTANCE_ID: o ID da instância do Spanner.
- DATABASE_ID: o ID do banco de dados do Spanner.
- BACKUP_NAME: o nome do backup do Spanner.
Execute o seguinte comando:
Linux, macOS ou Cloud Shell
gcloud spanner backups describe BACKUP_NAME --instance=INSTANCE_ID
Windows (PowerShell)
gcloud spanner backups describe BACKUP_NAME --instance=INSTANCE_ID
Windows (cmd.exe)
gcloud spanner backups describe BACKUP_NAME --instance=INSTANCE_ID
Você receberá uma resposta semelhante a esta:
createTime: '2020-02-04T02:05:43.920377Z' database: projects/PROJECT_ID/instances/INSTANCE_ID/databases/DATABASE_ID expireTime: '2021-02-04T02:05:43.268327Z' name: projects/PROJECT_ID/instances/INSTANCE_ID/backups/BACKUP_NAME sizeBytes: '1000000000' state: READY
Bibliotecas de cliente
As bibliotecas de cliente não são compatíveis com a coleta de informações para um único backup. No entanto, é possível listar todos os backups e as informações deles em uma instância. Para Para mais informações, acesse Listar backups em uma instância.
Listar backups em uma instância
Console
No console do Google Cloud, acesse a página Instâncias do Spanner.
Clique na sua instância para ver todos os backups disponíveis e as informações.
No painel de navegação, clique em Backup/restauração.
gcloud
Para listar todos os backups em uma instância,
use gcloud spanner backups list
.
Antes de usar os dados do comando abaixo, faça estas substituições:
- INSTANCE_ID: o ID da instância do Spanner.
Execute o seguinte comando:
Linux, macOS ou Cloud Shell
gcloud spanner backups list --instance=INSTANCE_ID
Windows (PowerShell)
gcloud spanner backups list --instance=INSTANCE_ID
Windows (cmd.exe)
gcloud spanner backups list --instance=INSTANCE_ID
Você receberá uma resposta semelhante a esta:
BACKUP SOURCE_DATABASE CREATION_TIME EXPIRATION_TIME STATE BACKUP_SIZE_IN_BYTES IN_USE_BY example-db-backup-6 example-db 2020-02-04T02:05:43.920377Z 2021-02-04T02:05:43.268327Z CREATING example-db-backup-4 example-db 2020-02-04T01:21:20.873839Z 2021-02-04T01:21:20.530151Z READY 32 example-db-backup-3 example-db 2020-02-03T23:59:18.936433Z 2021-02-03T23:59:18.203083Z READY 32 example-db-backup-5 example-db 2020-02-03T23:48:06.259296Z 2021-02-03T23:48:05.830937Z READY 32 example-db-backup-2 example-db 2020-01-30T19:49:00.616338Z 2021-01-30T19:49:00.283917Z READY 32 example-db-backup-1 example-db 2020-01-30T19:47:09.492551Z 2021-01-30T19:47:09.097804Z READY 32
Para limitar a lista, especifique a sinalização --filter
. Por exemplo, para filtrar a lista
para incluir apenas os backups que ainda estão sendo criados, adicione
--filter="state:creating"
: Saiba mais sobre a sintaxe de filtro em gcloud topic filters
.
Para informações sobre como filtrar backups, consulte o campo filter
em ListBackupsRequest
.
Bibliotecas de cliente
O exemplo de código a seguir lista os backups em uma determinada instância.
É possível filtrar a lista de backups retornados (por exemplo, filtrar por nome, versão
ou o prazo de validade do backup) fornecendo uma expressão de filtro. Para
informações sobre a sintaxe de filtragem, consulte o parâmetro filter
em
Listar backups.
C++
C#
Go
Java
Node.js
PHP
Python
Ruby
Atualizar o período de expiração do backup
Console
Acesse a página "Instâncias do Spanner" no console do Google Cloud.
Clique na instância que contém o banco de dados para abrir a página Visão geral correspondente.
Clique no banco de dados para abrir a página Visão geral correspondente.
No painel de navegação, clique em Backup/restauração.
Clique no botão Ações para o backup selecionado e escolha Atualizar metadados.
Selecione a nova data de validade.
Clique em Atualizar.
gcloud
Para atualizar a data do período de validade de um backup,
use gcloud spanner backups update-metadata
:
Antes de usar os dados do comando abaixo, faça estas substituições:
- PROJECT_ID: o ID do projeto;
- BACKUP_NAME: o nome do backup do Spanner.
- INSTANCE_ID: o ID da instância do Spanner.
- EXPIRATION_DATE: carimbo de data/hora da data de validade.
- DATABASE_ID: o ID do banco de dados do Spanner.
Execute o seguinte comando:
Linux, macOS ou Cloud Shell
gcloud spanner backups update-metadata --backup=BACKUP_NAME \ --instance=INSTANCE_ID \ --expiration-date=EXPIRATION_DATE
Windows (PowerShell)
gcloud spanner backups update-metadata --backup=BACKUP_NAME ` --instance=INSTANCE_ID ` --expiration-date=EXPIRATION_DATE
Windows (cmd.exe)
gcloud spanner backups update-metadata --backup=BACKUP_NAME ^ --instance=INSTANCE_ID ^ --expiration-date=EXPIRATION_DATE
Você receberá uma resposta semelhante a esta:
createTime: '2020-02-04T02:05:43.920377Z' database: projects/PROJECT_ID/instances/INSTANCE_ID/databases/DATABASE_ID expireTime: '2020-05-05T00:00:00Z' name: projects/PROJECT_ID/instances/INSTANCE_ID/backups/BACKUP_NAME sizeBytes: '1000000000' state: READY
Bibliotecas de cliente
O exemplo de código a seguir recupera o tempo de expiração de um backup e o estende.
C++
C#
Go
Java
Node.js
PHP
Python
Ruby
Excluir um backup
Console
Acesse a página "Instâncias do Spanner" no console do Google Cloud.
Clique na instância que contém o banco de dados para abrir a página Visão geral correspondente.
Clique no banco de dados para abrir a página Visão geral correspondente.
No painel de navegação, clique em Backup/restauração.
Clique no botão Ações para o backup selecionado e escolha Excluir.
Digite o ID do backup.
Clique em Excluir.
gcloud
Para excluir um backup:
use gcloud spanner backups delete
.
Antes de usar os dados do comando abaixo, faça estas substituições:
- INSTANCE_ID: o ID da instância do Spanner.
- BACKUP_NAME: o nome do backup do Spanner.
Execute o seguinte comando:
Linux, macOS ou Cloud Shell
gcloud spanner backups delete BACKUP_NAME --instance=INSTANCE_ID
Windows (PowerShell)
gcloud spanner backups delete BACKUP_NAME --instance=INSTANCE_ID
Windows (cmd.exe)
gcloud spanner backups delete BACKUP_NAME --instance=INSTANCE_ID
Você receberá uma resposta semelhante a esta:
You are about to delete backup BACKUP_NAME Do you want to continue (Y/n)? Y Deleted backup BACKUP_NAME.
Bibliotecas de cliente
O exemplo de código a seguir exclui um backup e verifica se ele foi excluído. Excluir um backup que ainda está em andamento remove o recurso de backup e cancela a operação de backup de longa duração.
C++
C#
Go
Java
Node.js
PHP
Python
Ruby
A seguir
Para saber mais sobre backups, consulte Visão geral de backups.
Para criar backups, consulte Criar backups.