Nesta página, descrevemos as operações de programação de backup do Spanner e explicamos como para configurar uma programação de backup para seu banco de dados.
Antes de começar
-
Para receber as permissões necessárias para criar e gerenciar programações de backup, peça ao administrador para conceder a você os seguintes papéis do IAM na instância:
-
Crie, visualize, atualize e exclua programações de backup:
Administrador de backup do Cloud Spanner (
roles/spanner.backupAdmin
) -
Crie e visualize programações de backup:
Gravador de backup do Cloud Spanner (
roles/spanner.backupWriter
)
-
Crie, visualize, atualize e exclua programações de backup:
Administrador de backup do Cloud Spanner (
Criar uma programação 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.
Clique no banco de dados.
No menu de navegação, clique em Backup/restauração.
Clique em Criar programação de backup.
Preencha o formulário e clique em Criar.
gcloud
Antes de usar os dados do comando abaixo, faça estas substituições:
- SCHEDULE_ID: o ID da programação de backup.
- PROJECT_ID: o ID do projeto;
- INSTANCE_ID: o ID da instância em que você quer criar a programação de backup.
- DATABASE_ID: o ID do banco de dados em que você quer criar a programação de backup.
-
RETENTION_DURATION: a duração da retenção de
os backups criados pela programação. Por exemplo, se você quiser que a duração da retenção seja um
dia, use
86400s
. -
CRONTAB_EXPRESSION:
a expressão crontab para a frequência da programação de backup. Por exemplo, se você quiser que a
frequência da programação de backup seja a cada 12 horas, use
0 12 * * *
. -
BACKUP_TYPE:
seja uma programação de backup completo ou uma programação de backup incremental. Os valores possíveis são
full-backup
ouincremental-backup
. -
ENCRYPTION_TYPE:
o tipo de criptografia dos backups criados pela programação de backup.
Os valores válidos são:
USE_DATABASE_ENCRYPTION
eGOOGLE_DEFAULT_ENCRYPTION
ouCUSTOMER_MANAGED_ENCRYPTION
. Se você usarCUSTOMER_MANAGED_ENCRYPTION
, especifique umkmsKeyName
. Se o tipo de backup forincremental-backup
, o tipo de criptografia precisará serGOOGLE_DEFAULT_ENCRYPTION
.
Execute o seguinte comando:
Linux, macOS ou Cloud Shell
gcloud spanner backup-schedules create SCHEDULE_ID \ --project=PROJECT_ID \ --instance=INSTANCE_ID \ --database=DATABASE_ID \ --retention-duration=RETENTION_DURATION \ --cron="CRONTAB_EXPRESSION" \ --backup-type=BACKUP_TYPE \ --encryption-type=ENCRYPTION_TYPE
Windows (PowerShell)
gcloud spanner backup-schedules create SCHEDULE_ID ` --project=PROJECT_ID ` --instance=INSTANCE_ID ` --database=DATABASE_ID ` --retention-duration=RETENTION_DURATION ` --cron="CRONTAB_EXPRESSION" ` --backup-type=BACKUP_TYPE ` --encryption-type=ENCRYPTION_TYPE
Windows (cmd.exe)
gcloud spanner backup-schedules create SCHEDULE_ID ^ --project=PROJECT_ID ^ --instance=INSTANCE_ID ^ --database=DATABASE_ID ^ --retention-duration=RETENTION_DURATION ^ --cron="CRONTAB_EXPRESSION" ^ --backup-type=BACKUP_TYPE ^ --encryption-type=ENCRYPTION_TYPE
REST v1
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
- PROJECT_ID: o ID do projeto;
- INSTANCE_ID: o ID da instância em que você quer criar a programação de backup.
- DATABASE_ID: o ID do banco de dados em que você quer criar a programação de backup.
- SCHEDULE_ID: o ID da programação de backup.
-
BACKUP_TYPE:
seja uma programação de backup completo ou uma programação de backup incremental.
Os valores possíveis são
fullBackupSpec
ouincrementalBackupSpec
. -
ENCRYPTION_TYPE: o tipo de criptografia dos backups.
criada pela programação de backup. Os valores possíveis são
USE_DATABASE_ENCRYPTION
,GOOGLE_DEFAULT_ENCRYPTION
ouCUSTOMER_MANAGED_ENCRYPTION
. Se você usarCUSTOMER_MANAGED_ENCRYPTION
, vai precisar especificar umkmsKeyName
. Se o tipo de backup forincremental-backup
, o tipo de criptografia precisa serGOOGLE_DEFAULT_ENCRYPTION
. - RETENTION_DURATION: a duração de retenção dos backups criados pela programação.
Método HTTP e URL:
POST https://spanner.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_ID/databases/DATABASE_ID/backupSchedules?backup_schedule_id=SCHEDULE_ID
Corpo JSON da solicitação:
{ "retentionDuration": "RETENTION_DURATION", "spec": { "cronSpec": { "text": "0 2 * * *" } }, "encryptionConfig": { "encryptionType": "ENCRYPTION_TYPE" }, "BACKUP_TYPE": {} }
Para enviar a solicitação, expanda uma destas opções:
Você receberá uma resposta JSON semelhante a esta:
{ "name": "projects/PROJECT_ID/instances/INSTANCE_ID/databases/DATABASE_ID/backupSchedules/SCHEDULE_ID", "retentionDuration": "86400s", "encryptionConfig": { "encryptionType": "USE_DATABASE_ENCRYPTION" }, "spec": { "cronSpec": { "text": "0 2 * * *", "timeZone": "UTC", "creationWindow": "14400s" } }, "BACKUP_TYPE": {}, "updateTime": "2024-05-22T11:13:51.835590Z" }
Bibliotecas de cliente
C#
Para criar uma programação de backup completa, consulte o exemplo de código a seguir:
Para criar uma programação de backup incremental, consulte o exemplo de código a seguir:C++
Para criar uma programação de backup completa, consulte o exemplo de código a seguir:
Para criar uma programação de backup incremental, consulte o exemplo de código a seguir:Go
Para criar uma programação de backup completa, consulte o exemplo de código a seguir:
Para criar uma programação de backup incremental, consulte o exemplo de código a seguir:Java
Para criar uma programação de backup completa, consulte o exemplo de código a seguir:
Para criar uma programação de backup incremental, consulte o exemplo de código a seguir:Node.js
Para criar uma programação de backup completa, consulte o exemplo de código a seguir:
Para criar uma programação de backup incremental, consulte o exemplo de código a seguir:Python
Para criar uma programação de backup completa, consulte o exemplo de código a seguir:
Para criar uma programação de backup incremental, consulte o exemplo de código a seguir:Acessar uma programação 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.
Clique no banco de dados.
No menu de navegação, clique em Backup/restauração.
Clique na guia Programações para conferir todas as programações de backup e as informações delas.
gcloud
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
- DATABASE_ID: o ID do banco de dados.
- SCHEDULE_ID: o ID da programação de backup.
Execute o seguinte comando:
Linux, macOS ou Cloud Shell
gcloud spanner backup-schedules describe SCHEDULE_ID \ --project=PROJECT_ID \ --instance=INSTANCE_ID \ --database=DATABASE_ID
Windows (PowerShell)
gcloud spanner backup-schedules describe SCHEDULE_ID ` --project=PROJECT_ID ` --instance=INSTANCE_ID ` --database=DATABASE_ID
Windows (cmd.exe)
gcloud spanner backup-schedules describe SCHEDULE_ID ^ --project=PROJECT_ID ^ --instance=INSTANCE_ID ^ --database=DATABASE_ID
Você receberá uma resposta semelhante a esta:
{ encryptionConfig: encryptionType: USE_DATABASE_ENCRYPTION incrementalBackupSpec: {} name: projects/my-project/instances/my-instance/databases/my-database/backupSchedules/my-schedule retentionDuration: 2592000s spec: cronSpec: creationWindow: 14400s text: 0 */4 * * * timeZone: UTC updateTime: '2024-09-13T10:24:18.754839Z' }
REST v1
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
- PROJECT_ID: o ID do projeto.
- INSTANCE_ID: o ID da instância
- DATABASE_ID: o ID do banco de dados.
- SCHEDULE_ID: o ID da programação de backup.
Método HTTP e URL:
GET https://spanner.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_ID/databases/DATABASE_ID/backupSchedules/SCHEDULE_ID
Para enviar a solicitação, expanda uma destas opções:
Você receberá uma resposta JSON semelhante a esta:
{ "name": "projects/PROJECT_ID/instances/INSTANCE_ID/databases/DATABASE_ID/backupSchedules/SCHEDULE_ID", "retentionDuration": "100000s", "encryptionConfig": { "encryptionType": "USE_DATABASE_ENCRYPTION" }, "spec": { "cronSpec": { "text": "0 2 * * *", "timeZone": "UTC", "creationWindow": "14400s" } }, "fullBackupSpec": {}, "updateTime": "2024-05-22T11:13:51.835590Z" }
Bibliotecas de cliente
C#
C++
Go
Java
Node.js
Python
Listar programaçõ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.
Clique no banco de dados.
No menu de navegação, clique em Backup/restauração.
Clique na guia Programações para conferir todas as programações de backup e as informações delas.
gcloud
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
- DATABASE_ID: o ID do banco de dados.
Execute o seguinte comando:
Linux, macOS ou Cloud Shell
gcloud spanner backup-schedules list \ --project=PROJECT_ID \ --instance=INSTANCE_ID \ --database=DATABASE_ID
Windows (PowerShell)
gcloud spanner backup-schedules list ` --project=PROJECT_ID ` --instance=INSTANCE_ID ` --database=DATABASE_ID
Windows (cmd.exe)
gcloud spanner backup-schedules list ^ --project=PROJECT_ID ^ --instance=INSTANCE_ID ^ --database=DATABASE_ID
Você receberá uma resposta semelhante a esta:
Name | Backup type | Cron | Retention duration | Encryption type |
---|---|---|---|---|
my-full-schedule | FULL | 30 12 * * * | 2592000s | USE_DATABASE_ENCRYPTION |
my-incr-schedule | INCREMENTAL | 0 */4 * * * | 2592000s | USE_DATABASE_ENCRYPTION |
REST v1
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
- PROJECT_ID: o ID do projeto.
- INSTANCE_ID: o ID da instância
- DATABASE_ID: o ID do banco de dados.
Método HTTP e URL:
GET https://spanner.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_ID/databases/DATABASE_ID/backupSchedules
Para enviar a solicitação, expanda uma destas opções:
Você receberá uma resposta JSON semelhante a esta:
{ "backupSchedules": [ { "name": "projects/PROJECT_ID/instances/INSTANCE_ID/databases/DATABASE_ID/backupSchedules/SCHEDULE_ID", "retentionDuration": "172800s", "encryptionConfig": { "encryptionType": "USE_DATABASE_ENCRYPTION" }, "spec": { "cronSpec": { "text": "0 */12 * * *", "timeZone": "UTC", "creationWindow": "14400s" } }, "fullBackupSpec": {}, "updateTime": "2024-09-09T07:21:43.946180Z" }, { "name": "projects/PROJECT_ID/instances/INSTANCE_ID/databases/DATABASE_ID/backupSchedules/SCHEDULE_ID", "retentionDuration": "2592000s", "encryptionConfig": { "encryptionType": "CUSTOMER_MANAGED_ENCRYPTION", "kmsKeyName": "projects/PROJECT_ID/locations/us-central1/keyRings/cmek-demo/cryptoKeys/test-key" }, "spec": { "cronSpec": { "text": "30 12 * * *", "timeZone": "UTC", "creationWindow": "14400s" } }, "fullBackupSpec": {}, "updateTime": "2024-09-17T18:27:53.868741Z" } ] }
Bibliotecas de cliente
C#
C++
Go
Java
Node.js
Python
Atualizar uma programação 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.
Clique no banco de dados.
No menu de navegação, clique em Backup/restauração.
Clique na guia Programações.
Selecione Mais ações para sua programação de backup e clique em Atualizar.
É possível atualizar a frequência e o horário de retenção da programação de backup. Se for uma programação de backup completo, você também poderá atualizar o tipo de criptografia.
Clique em Salvar.
gcloud
Antes de usar os dados do comando abaixo, faça estas substituições:
- SCHEDULE_ID: o ID da programação de backup.
- PROJECT_ID: o ID do projeto;
- INSTANCE_ID: o ID da instância em que você quer modificar a programação de backup.
- DATABASE_ID: o ID do banco de dados em que você quer modificar a programação de backup.
- RETENTION_DURATION: a duração de retenção dos backups criados pela programação.
-
CRONTAB_EXPRESSION:
a expressão crontab para a frequência da programação de backup. Por exemplo, se você quiser que a
frequência da programação de backup seja a cada 12 horas, use
0 12 * * *
. -
ENCRYPTION_TYPE:
o tipo de criptografia dos backups criados pela programação de backup.
Os valores válidos são:
USE_DATABASE_ENCRYPTION
eGOOGLE_DEFAULT_ENCRYPTION
ouCUSTOMER_MANAGED_ENCRYPTION
. Se você usarCUSTOMER_MANAGED_ENCRYPTION
, especifique umkmsKeyName
. Se o tipo de backup forincremental-backup
, o tipo de criptografia precisará serGOOGLE_DEFAULT_ENCRYPTION
.
Execute o seguinte comando:
Linux, macOS ou Cloud Shell
gcloud spanner backup-schedules update SCHEDULE_ID \ --project=PROJECT_ID \ --instance=INSTANCE_ID \ --database=DATABASE_ID \ --retention-duration=RETENTION_DURATION \ --cron="CRONTAB_EXPRESSION" \ --encryption-type=ENCRYPTION_TYPE
Windows (PowerShell)
gcloud spanner backup-schedules update SCHEDULE_ID ` --project=PROJECT_ID ` --instance=INSTANCE_ID ` --database=DATABASE_ID ` --retention-duration=RETENTION_DURATION ` --cron="CRONTAB_EXPRESSION" ` --encryption-type=ENCRYPTION_TYPE
Windows (cmd.exe)
gcloud spanner backup-schedules update SCHEDULE_ID ^ --project=PROJECT_ID ^ --instance=INSTANCE_ID ^ --database=DATABASE_ID ^ --retention-duration=RETENTION_DURATION ^ --cron="CRONTAB_EXPRESSION" ^ --encryption-type=ENCRYPTION_TYPE
REST v1
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
- PROJECT_ID: o ID do projeto;
- INSTANCE_ID: o ID da instância em que você quer modificar a programação de backup.
- DATABASE_ID: o ID do banco de dados em que você quer modificar a programação de backup.
- SCHEDULE_ID: o ID da programação de backup.
-
RETENTION_DURATION: a duração da retenção de
os backups criados pela programação. Por exemplo, se você quiser que a duração da retenção seja de um dia,
especifique
86400s
. -
ENCRYPTION_TYPE:
o tipo de criptografia dos backups criados pela programação de backup.
Os valores possíveis são
USE_DATABASE_ENCRYPTION
,GOOGLE_DEFAULT_ENCRYPTION
ouCUSTOMER_MANAGED_ENCRYPTION
. Se você usarCUSTOMER_MANAGED_ENCRYPTION
, especifique umkmsKeyName
. Se o tipo de backup forincremental-backup
, o tipo de criptografia precisará serGOOGLE_DEFAULT_ENCRYPTION
.
Método HTTP e URL:
PATCH https://spanner.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_ID/databases/DATABASE_ID/backupSchedules/SCHEDULE_ID?updateMask=retention_duration,encryption_config,spec.cron_spec.text
Corpo JSON da solicitação:
{ "retentionDuration": "RETENTION_DURATION", "spec": { "cronSpec": { "text": "0 2 * * *" } "encryptionConfig": { "encryptionType": "ENCRYPTION_TYPE" }, }, }
Para enviar a solicitação, expanda uma destas opções:
Você receberá uma resposta JSON semelhante a esta:
{ "name": "projects/PROJECT_ID/instances/INSTANCE_ID/databases/DATABASE_ID/backupSchedules/SCHEDULE_ID", "retentionDuration": "86400s", "encryptionConfig": { "encryptionType": "USE_DATABASE_ENCRYPTION" }, "spec": { "cronSpec": { "text": "0 2 * * *", "timeZone": "UTC", "creationWindow": "14400s" } }, "fullBackupSpec": {}, "updateTime": "2024-05-22T11:13:51.835590Z" }
Bibliotecas de cliente
C#
C++
Go
Java
Node.js
Python
Excluir uma programação 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.
Clique no banco de dados.
No menu de navegação, clique em Backup/restauração.
Selecione Mais ações para a programação de backup e clique em Excluir.
Digite o nome da programação de backup.
Clique em Confirmar.
gcloud
Antes de usar os dados do comando abaixo, faça estas substituições:
- SCHEDULE_ID: o ID da programação de backup.
- PROJECT_ID: o ID do projeto;
- INSTANCE_ID: o ID da instância em que você quer excluir a programação de backup.
- DATABASE_ID: o ID do banco de dados em que você quer excluir a programação de backup.
Execute o seguinte comando:
Linux, macOS ou Cloud Shell
gcloud spanner backup-schedules delete SCHEDULE_ID \ --project=PROJECT_ID \ --instance=INSTANCE_ID \ --database=DATABASE_ID
Windows (PowerShell)
gcloud spanner backup-schedules delete SCHEDULE_ID ` --project=PROJECT_ID ` --instance=INSTANCE_ID ` --database=DATABASE_ID
Windows (cmd.exe)
gcloud spanner backup-schedules delete SCHEDULE_ID ^ --project=PROJECT_ID ^ --instance=INSTANCE_ID ^ --database=DATABASE_ID
REST v1
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
- PROJECT_ID: o ID do projeto;
- INSTANCE_ID: o ID da instância em que você quer excluir a programação de backup.
- DATABASE_ID: o ID do banco de dados em que você quer excluir a programação de backup.
- SCHEDULE_ID: o ID da programação de backup.
Método HTTP e URL:
DELETE https://spanner.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_ID/databases/DATABASE_ID/backupSchedules/SCHEDULE_ID
Para enviar a solicitação, expanda uma destas opções:
Você receberá um código de status bem-sucedido (2xx) e uma resposta vazia.
Bibliotecas de cliente
C#
C++
Go
Java
Node.js
Python
Definir a política de controle de acesso do IAM
É possível definir uma política de acesso do IAM para especificar quem tem acesso à programação de backup.
gcloud
Antes de usar os dados do comando abaixo, faça estas substituições:
- SCHEDULE_ID: o ID da programação de backup.
- PROJECT_ID: o ID do projeto;
- INSTANCE_ID: o ID da instância
- DATABASE_ID: o ID do banco de dados.
Execute o seguinte comando:
Linux, macOS ou Cloud Shell
gcloud spanner backup-schedules set-iam-policy SCHEDULE_ID \ --project=PROJECT_ID \ --instance=INSTANCE_ID \ --database=DATABASE_ID \ policy.json
Windows (PowerShell)
gcloud spanner backup-schedules set-iam-policy SCHEDULE_ID ` --project=PROJECT_ID ` --instance=INSTANCE_ID ` --database=DATABASE_ID ` policy.json
Windows (cmd.exe)
gcloud spanner backup-schedules set-iam-policy SCHEDULE_ID ^ --project=PROJECT_ID ^ --instance=INSTANCE_ID ^ --database=DATABASE_ID ^ policy.json
Você receberá uma resposta semelhante a esta:
Updated IAM policy for backupSchedule [SCHEDULE_ID]. bindings: - members: - user:test@google.com role: roles/editor etag: BwYi82k-fho= version: 1
policy.json
que pode ser usado com esse
Comando da CLI gcloud:
{ "version": 1, "etag": "BwYi8ypICC0=", "bindings": [ { "role": "roles/editor", "members": [ "user:test@gmail.com" ] } ] }
REST v1
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
- PROJECT_ID: o ID do projeto.
- INSTANCE_ID: o ID da instância
- DATABASE_ID: o ID do banco de dados.
- SCHEDULE_ID: o ID da programação de backup.
Método HTTP e URL:
POST https://spanner.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_ID/databases/DATABASE_ID/backupSchedules/SCHEDULE_ID:setIamPolicy?alt=json
Corpo JSON da solicitação:
{ "policy": { "version": 1, "etag": "BwYi8ypICC0=", "bindings": [ { "role": "roles/editor", "members": [ "user:test@gmail.com" ] } ] } }
Para enviar a solicitação, expanda uma destas opções:
Você receberá uma resposta JSON semelhante a esta:
{ { "version": 1, "etag": "etag", "bindings": [ { "role": "roles/non-primitive", "members": [ "user:test@gmail.com" ] } ] } }
Acessar política de controle de acesso do IAM
gcloud
Antes de usar os dados do comando abaixo, faça estas substituições:
- SCHEDULE_ID: o ID da programação de backup.
- PROJECT_ID: o ID do projeto;
- INSTANCE_ID: o ID da instância
- DATABASE_ID: o ID do banco de dados.
Execute o seguinte comando:
Linux, macOS ou Cloud Shell
gcloud spanner backup-schedules get-iam-policy SCHEDULE_ID \ --project=PROJECT_ID \ --instance=INSTANCE_ID \ --database=DATABASE_ID
Windows (PowerShell)
gcloud spanner backup-schedules get-iam-policy SCHEDULE_ID ` --project=PROJECT_ID ` --instance=INSTANCE_ID ` --database=DATABASE_ID
Windows (cmd.exe)
gcloud spanner backup-schedules get-iam-policy SCHEDULE_ID ^ --project=PROJECT_ID ^ --instance=INSTANCE_ID ^ --database=DATABASE_ID
Você receberá uma resposta semelhante a esta:
bindings: - members: - user:test@gmail.com role: roles/editor etag: BwYi82k-fho= version: 1
REST v1
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
- INSTANCE_ID: o ID da instância
- DATABASE_ID: o ID do banco de dados.
- SCHEDULE_ID: o ID da programação de backup.
- PROJECT_ID: o ID do projeto;
Método HTTP e URL:
POST https://spanner.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_ID/databases/DATABASE_ID/backupSchedules/SCHEDULE_ID:getIamPolicy?alt=json
Para enviar a solicitação, expanda uma destas opções:
Você receberá uma resposta JSON semelhante a esta:
{ { "version": 1, "etag": "BwYbyZ9pc4o=", "bindings": [ { "role": "roles/editor", "members": [ "user:test@gmail.com" ] } ] } }