Skip to main content
Gli snapshot sono backup dello storage di un’app o di un database. App e database condividono gli stessi tre metodi:
  • api.apps.snapshots: list(appId), create(appId), restore(appId, name, versionId)
  • api.databases.snapshots: list(databaseId), create(databaseId), restore(databaseId, name, versionId)
Quanti snapshot puoi creare al giorno dipende dal tuo piano (vedi Limiti). Gli esempi usano il client api di Creare il client. appId è l’id di una delle tue app: api.account.me() le elenca.

Elencare gli snapshot

Creare uno snapshot

create() attende lo snapshot (almeno 120 s prima di andare in timeout). Uno snapshot grande potrebbe non terminare in tempo: in quel caso l’API risponde 202 e l’SDK restituisce { pending: true }. Lo snapshot continua a essere generato e compare da solo in list(), di solito entro 2 minuti.
Non chiamare mai di nuovo create() per controllare uno snapshot in sospeso: ne avvia uno nuovo e viene conteggiato nella quota giornaliera di snapshot del piano. Interroga invece list().

Ripristinare uno snapshot

restore(id, name, versionId) accetta il name e il version_id di uno snapshot presente nell’elenco.

Scaricare uno snapshot

api.downloadSnapshot(url, { signal }) trasmette in streaming un file di snapshot dal suo url firmato (ottenuto da list() o create()). Non chiama l’API: la chiave API non viene mai inviata all’host di storage. Restituisce un ReadableStream<Uint8Array>, senza nulla bufferizzato in memoria, e non ha timeout (passa un signal).
Un URL scaduto o non valido lancia un SquareCloudAPIError con lo status HTTP dell’host di storage e UNKNOWN_ERROR.

Snapshot a livello di account

api.account.snapshots({ scope }) elenca tutti gli snapshot dell’account, facoltativamente solo "applications" o "databases". Richiede un piano attivo e condivide il rate limit degli endpoint di rete (429 RATE_LIMITED).

Limiti

  • create() è limitato a una chiamata ogni 180 secondi e a una quota giornaliera che dipende dal piano: superare la quota produce 429 DAILY_SNAPSHOTS_LIMIT_REACHED.
  • Mentre è in corso un ripristino, eliminare l’app o avviare il database produce 403 RESTORE_IN_PROGRESS.

Prossimi passi

Database

Crea e gestisci i database.

Riferimento API degli snapshot

Gli endpoint REST dietro questi metodi.

Snapshot dalla CLI

Le stesse azioni dal terminale.