Skip to main content
app.backup / app.backups e a classe Backup foram removidos. Use app.snapshots (o SnapshotsModule), cujas entradas são instâncias de Snapshot (DatabaseSnapshot para snapshots de banco de dados).
app.snapshots expõe o SnapshotsModule.

Limites de taxa

  • Os resultados de app.snapshots.list() ficam em cache no servidor por 30 minutos.
  • app.snapshots.create() (e o equivalente para bancos de dados) é limitado a 1 requisição a cada 5 segundos por usuário e 1 requisição a cada 3 minutos por recurso (aplicação ou banco de dados).
  • Cada plano também tem uma cota diária de snapshots. Quando ela se esgota, a criação falha com 429 e code: "DAILY_SNAPSHOTS_LIMIT_REACHED" — diferente do erro genérico de rate limit curto KEEP_CALM.

Listando snapshots

app.snapshots.list() retorna um array de instâncias Snapshot.
Cada snapshot pode ser baixado diretamente:

Criando um novo snapshot

app.snapshots.create() dispara um novo snapshot e retorna a URL assinada e a chave.

Download em uma única etapa

app.snapshots.download() cria um snapshot e o baixa como Buffer.

Restaurando a partir de um snapshot

app.snapshots.restore({ snapshotId, versionId }) reverte a aplicação para uma versão anterior do snapshot.

Listando snapshots de toda a conta

api.user.snapshots(scope?) retorna todos os snapshots que você possui em todas as aplicações ou bancos de dados. scope tem como padrão "applications".
api.user.snapshots() requer um plano pago ativo. Contas sem um plano pago recebem 402 com code: "UPGRADE_REQUIRED".