Pular para o conteúdo principal

Documentation Index

Fetch the complete documentation index at: https://docs.squarecloud.app/llms.txt

Use this file to discover all available pages before exploring further.

Snapshots substituem a API backup / backups da v3. app.backup e app.backups ainda são exportados na v4, mas exibem um aviso de depreciação e redirecionam para app.snapshots. Atualize seu código para usar o novo nome.
app.snapshots expõe o SnapshotsModule.
const app = await api.applications.fetch("abc123def456abc123def456");
app.snapshots; // SnapshotsModule

Listando snapshots

app.snapshots.list() retorna um array de instâncias Snapshot.
const snapshots = await app.snapshots.list();

for (const snap of snapshots) {
    console.log(snap.url);          // URL assinada para download (válida por 30 dias)
    console.log(snap.size);         // bytes
    console.log(snap.modifiedAt);   // Date
    console.log(snap.key);          // query string assinada
}
Cada snapshot pode ser baixado diretamente:
const buffer = await snapshots[0].download();

Criando um novo snapshot

app.snapshots.create() dispara um novo snapshot e retorna a URL assinada e a chave.
const fresh = await app.snapshots.create();
console.log(fresh.url); // válida por 30 dias
console.log(fresh.key);

Download em uma única etapa

app.snapshots.download() cria um snapshot e o baixa como Buffer.
import { writeFile } from "node:fs/promises";

const buffer = await app.snapshots.download();
await writeFile("./backup.zip", buffer);

Restaurando a partir de um snapshot

app.snapshots.restore({ snapshotId, versionId }) reverte a aplicação para uma versão anterior do snapshot.
await app.snapshots.restore({
    snapshotId: "00000000-0000-4000-8000-000000000000",
    versionId: "abc123def4567890",
});
CampoTipoDescrição
snapshotIdstringIdentificador do snapshot (UUID v4)
versionIdstringIdentificador de versão retornado por list()

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.
const appSnapshots = await api.user.snapshots("applications");
const dbSnapshots  = await api.user.snapshots("databases");
api.user.snapshots() requer uma assinatura paga ativa.