Skip to main content
Snapshots sind Backups des Speichers einer App oder Datenbank. Apps und Datenbanken teilen sich dieselben drei Methoden:
  • api.apps.snapshots: list(appId), create(appId), restore(appId, name, versionId)
  • api.databases.snapshots: list(databaseId), create(databaseId), restore(databaseId, name, versionId)
Wie viele Snapshots du pro Tag erstellen kannst, hängt von deinem Plan ab (siehe Limits). Die Beispiele verwenden den Client api aus Client erstellen. appId ist die ID einer deiner Apps: api.account.me() listet sie auf.

Snapshots auflisten

Einen Snapshot erstellen

create() wartet auf den Snapshot (mindestens 120 s, bevor ein Timeout eintritt). Ein großer Snapshot wird möglicherweise nicht rechtzeitig fertig: Die API antwortet dann mit 202 und das SDK gibt { pending: true } zurück. Der Snapshot wird weiter erstellt und erscheint von selbst in list(), meist innerhalb von 2 Minuten.
Rufe create() nie erneut auf, um einen ausstehenden Snapshot zu prüfen: Das startet einen neuen und zählt gegen das tägliche Snapshot-Kontingent des Plans. Frage stattdessen list() ab.

Snapshot wiederherstellen

restore(id, name, versionId) nimmt den name und die version_id eines aufgelisteten Snapshots.

Einen Snapshot herunterladen

api.downloadSnapshot(url, { signal }) streamt eine Snapshot-Datei von ihrer signierten url (aus list() oder create()). Die Methode ruft die API nicht auf: Der API-Schlüssel wird nie an den Speicher-Host gesendet. Sie gibt einen ReadableStream<Uint8Array> zurück, ohne etwas im Speicher zu puffern, und hat kein Timeout (übergib ein signal).
Eine abgelaufene oder ungültige URL wirft einen SquareCloudAPIError mit dem HTTP-Status des Speicher-Hosts und UNKNOWN_ERROR.

Konto-Snapshots

api.account.snapshots({ scope }) listet jeden Snapshot des Kontos auf, optional nur "applications" oder "databases". Dafür ist ein aktiver Plan nötig, und die Methode teilt sich das Rate Limit der Netzwerk-Endpoints (429 RATE_LIMITED).

Limits

  • create() ist auf einen Aufruf pro 180 Sekunden und auf ein tägliches, planabhängiges Kontingent begrenzt: Eine Überschreitung des Kontingents ergibt 429 DAILY_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.