Skip to main content
Snapshots são backups do armazenamento de uma aplicação ou de um banco de dados. Aplicações e bancos de dados compartilham os mesmos três métodos:
  • api.apps.snapshots: list(appId), create(appId), restore(appId, name, versionId)
  • api.databases.snapshots: list(databaseId), create(databaseId), restore(databaseId, name, versionId)
Quantos snapshots você pode criar por dia depende do seu plano (veja Limites). Os exemplos usam o cliente api de Criando o cliente. appId é o id de uma das suas aplicações: api.account.me() lista todas.

Listando snapshots

Criando um snapshot

create() aguarda o snapshot (pelo menos 120 s antes de expirar). Um snapshot grande pode não terminar a tempo: a API então responde 202 e o SDK retorna { pending: true }. O snapshot continua sendo gerado e aparece em list() sozinho, geralmente em até 2 minutos.
Nunca chame create() novamente para verificar um snapshot pendente: isso inicia um novo e conta para a cota diária de snapshots do plano. Consulte list() em vez disso.

Restaurando um snapshot

restore(id, name, versionId) recebe o name e o version_id de um snapshot listado.

Baixando um snapshot

api.downloadSnapshot(url, { signal }) transmite um arquivo de snapshot a partir da sua url assinada (de list() ou create()). Ele não chama a API: a chave de API nunca é enviada ao host de armazenamento. Retorna um ReadableStream<Uint8Array>, sem nada armazenado em memória, e não tem timeout (passe um signal).
Uma URL expirada ou inválida lança um SquareCloudAPIError com o status HTTP do host de armazenamento e UNKNOWN_ERROR.

Snapshots da conta

api.account.snapshots({ scope }) lista todos os snapshots da conta, opcionalmente apenas "applications" ou "databases". Requer um plano ativo e compartilha o rate limit dos endpoints de rede (429 RATE_LIMITED).

Limites

  • create() é limitado a uma chamada a cada 180 segundos e a uma cota diária que depende do plano: ultrapassar a cota resulta em 429 DAILY_SNAPSHOTS_LIMIT_REACHED.
  • Enquanto uma restauração está em andamento, excluir a aplicação ou iniciar o banco de dados resulta em 403 RESTORE_IN_PROGRESS.

Próximos passos

Bancos de dados

Crie e gerencie bancos de dados.

Referência da API de snapshots

Os endpoints REST por trás destes métodos.

Snapshots pela CLI

As mesmas ações pelo terminal.