c.Apps.Snapshots:List(ctx, appID),Create(ctx, appID),Restore(ctx, appID, name, versionID)c.Databases.Snapshots:List(ctx, databaseID),Create(ctx, databaseID),Restore(ctx, databaseID, name, versionID)
main ed esegui goimports (vedi Eseguire gli esempi).
Elencare gli snapshot
Creare uno snapshot
Create attende lo snapshot (senza una scadenza su ctx, almeno 2 minuti prima di andare in timeout). Uno snapshot grande potrebbe non terminare in tempo: in quel caso l’API risponde 202 e l’SDK restituisce un SnapshotCreated con Pending impostato a true e un errore nil. Lo snapshot continua a essere generato e compare da solo in List, di solito entro 2 minuti.
Ripristinare uno snapshot
Restore(ctx, id, name, versionID) accetta il Name e il VersionID di uno snapshot elencato.
Scaricare uno snapshot
c.DownloadSnapshot(ctx, url, w) trasmette in streaming il file di uno snapshot dal suo url firmato (ottenuto da List o Create) verso qualsiasi io.Writer. Non chiama l’API: la chiave API non viene mai inviata all’host dello storage, e l’URL non compare mai nell’errore restituito. Nulla viene tenuto in memoria e non c’è una scadenza predefinita (limitalo o annullalo con ctx). Un errore di rete prima della risposta viene ritentato come qualsiasi GET.
*APIError con lo status HTTP dell’host dello storage e UNKNOWN_ERROR. Un URL che non può essere analizzato, e un errore del tuo io.Writer, vengono restituiti come errori semplici.
Snapshot a livello di account
c.Account.Snapshots(ctx, scope) elenca tutti gli snapshot dell’account. Passa "" per ottenerli tutti, oppure squarecloud.SnapshotScopeApplications o squarecloud.SnapshotScopeDatabases. 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 429DAILY_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.

