app.backup / app.backups und die Klasse Backup wurden entfernt. Verwende app.snapshots (das SnapshotsModule), dessen Einträge Instanzen von Snapshot sind (DatabaseSnapshot für Datenbank-Snapshots).
app.snapshots stellt das SnapshotsModule bereit.
Rate-Limits
- Ergebnisse von
app.snapshots.list() werden serverseitig 30 Minuten lang gecacht.
app.snapshots.create() (und das Datenbank-Äquivalent) ist auf 1 Request alle 5 Sekunden pro Benutzer und 1 Request alle 3 Minuten pro Ressource (Anwendung oder Datenbank) begrenzt.
- Jeder Plan hat außerdem ein tägliches Snapshot-Kontingent. Ist es ausgeschöpft, schlägt die Erstellung mit einem
429 und code: "DAILY_SNAPSHOTS_LIMIT_REACHED" fehl, unabhängig vom generischen Kurzzeit-Rate-Limit-Fehler KEEP_CALM.
Snapshots auflisten
app.snapshots.list() liefert ein Array von Snapshot-Instanzen.
Jeder Snapshot kann direkt heruntergeladen werden:
Einen neuen Snapshot erstellen
app.snapshots.create() löst einen frischen Snapshot aus und liefert die signierte URL und den Key.
Download in einem Schritt
app.snapshots.download() erstellt einen Snapshot und lädt ihn als Buffer herunter.
Aus einem Snapshot wiederherstellen
app.snapshots.restore({ snapshotId, versionId }) setzt die Anwendung auf eine frühere Snapshot-Version zurück.
Snapshots kontoweit auflisten
api.user.snapshots(scope?) liefert jeden Snapshot, den du besitzt, über alle deine Anwendungen oder Datenbanken hinweg. scope ist standardmäßig "applications".
api.user.snapshots() erfordert einen aktiven kostenpflichtigen Plan. Konten ohne einen solchen erhalten einen 402 mit code: "UPGRADE_REQUIRED".