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 ein und führe goimports aus (siehe Beispiele ausführen).
Snapshots auflisten
Einen Snapshot erstellen
Create wartet auf den Snapshot (ohne Deadline auf ctx mindestens 2 Minuten, bevor ein Timeout eintritt). Ein großer Snapshot wird möglicherweise nicht rechtzeitig fertig: Die API antwortet dann mit 202 und das SDK gibt ein SnapshotCreated mit Pending auf true und einen nil-Fehler zurück. Der Snapshot wird weiter erstellt und erscheint von selbst in List, meist innerhalb von 2 Minuten.
Snapshot wiederherstellen
Restore(ctx, id, name, versionID) nimmt den Name und die VersionID eines aufgelisteten Snapshots.
Einen Snapshot herunterladen
c.DownloadSnapshot(ctx, url, w) streamt eine Snapshot-Datei von ihrer signierten url (aus List oder Create) in einen beliebigen io.Writer. Die Methode ruft die API nicht auf: Der API-Schlüssel wird nie an den Speicher-Host gesendet, und die URL erscheint nie im zurückgegebenen Fehler. Nichts wird im Speicher gepuffert, und es gibt keine Standard-Deadline (begrenze oder brich den Download über ctx ab). Ein Netzwerkfehler vor der Antwort wird wie bei jedem GET wiederholt.
*APIError mit dem HTTP-Status des Speicher-Hosts und UNKNOWN_ERROR zurück. Eine URL, die sich nicht parsen lässt, und ein Fehler deines io.Writer werden als einfache Fehler zurückgegeben.
Konto-Snapshots
c.Account.Snapshots(ctx, scope) listet jeden Snapshot des Kontos auf. Übergib "" für alle, oder squarecloud.SnapshotScopeApplications bzw. squarecloud.SnapshotScopeDatabases. Dafür ist ein aktiver Plan nötig, und die Methode teilt sich das Rate Limit der Netzwerk-Endpoints (429 RATE_LIMITED).
Limits
Createist auf einen Aufruf pro 180 Sekunden und auf ein tägliches, planabhängiges Kontingent begrenzt: Eine Überschreitung des Kontingents ergibt 429DAILY_SNAPSHOTS_LIMIT_REACHED.- Während eine Wiederherstellung läuft, ergibt das Löschen der App oder das Starten der Datenbank 403
RESTORE_IN_PROGRESS.
Nächste Schritte
Datenbanken
Datenbanken erstellen und verwalten.
API-Referenz für Snapshots
Die REST-Endpunkte hinter diesen Methoden.
Snapshots über die CLI
Dieselben Aktionen im Terminal.

