client.apps.snapshots:list(app_id),create(app_id),restore(app_id, name, version_id)client.databases.snapshots:list(database_id),create(database_id),restore(database_id, name, version_id)
client de Criando o cliente. app_id é o id de uma das suas aplicações: client.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. Caso contrário, retorna {'pending': False, 'url': ..., 'key': ...}.
Restaurando um snapshot
restore(id, name, version_id) recebe o name e o version_id de um snapshot listado.
Baixando um snapshot
client.download_snapshot(url, dest) transmite um arquivo de snapshot a partir da sua url assinada (de list() ou create()) para o disco e retorna o caminho em que escreveu. Ele não chama a API: a chave de API nunca é enviada ao host de armazenamento. Nada é armazenado em memória.
desté um caminho de arquivo, ou um diretório para manter o nome do arquivo remoto. Um caminho terminado em/é criado como diretório.- Os dados vão para um arquivo
.partque é renomeado quando termina, então um download que falhe nunca sobrescreve um arquivo anterior. - Não há timeout para o download inteiro:
timeoutlimita cada leitura.
AsyncSquareCloud, é await client.download_snapshot(url, dest).
Uma URL expirada ou inválida lança um SquareCloudAPIError com o status HTTP do host de armazenamento e UNKNOWN_ERROR. Um destino em que não é possível escrever lança um OSError.
Snapshots da conta
client.account.snapshots(scope=None) lista todos os snapshots da conta, opcionalmente apenas "applications" ou "databases" (keyword-only). 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 429DAILY_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.

