app.backup / app.backups et la classe Backup ont été supprimés. Utilisez app.snapshots (le SnapshotsModule), dont les entrées sont des instances de Snapshot (DatabaseSnapshot pour les snapshots de base de données).
app.snapshots expose le SnapshotsModule.
Limites de débit
- Les résultats de
app.snapshots.list() sont mis en cache côté serveur pendant 30 minutes.
app.snapshots.create() (et l’équivalent pour les bases de données) est limité à 1 requête toutes les 5 secondes par utilisateur et 1 requête toutes les 3 minutes par ressource (application ou base de données).
- Chaque plan dispose aussi d’un quota quotidien de snapshots. Une fois épuisé, la création échoue avec un
429 et code: "DAILY_SNAPSHOTS_LIMIT_REACHED" — distinct de l’erreur générique de débit court KEEP_CALM.
Lister les snapshots
app.snapshots.list() renvoie un tableau d’instances Snapshot.
Chaque snapshot peut être téléchargé directement :
Créer un nouveau snapshot
app.snapshots.create() déclenche un nouveau snapshot et renvoie l’URL signée et la clé.
Télécharger en une seule étape
app.snapshots.download() crée un snapshot et le télécharge sous forme de Buffer.
Restaurer depuis un snapshot
app.snapshots.restore({ snapshotId, versionId }) restaure l’application à une version de snapshot précédente.
Lister les snapshots à l’échelle du compte
api.user.snapshots(scope?) renvoie tous les snapshots que vous possédez sur l’ensemble de vos applications ou bases de données. scope vaut "applications" par défaut.
api.user.snapshots() nécessite un plan payant actif. Les comptes sans plan payant reçoivent un 402 avec code: "UPGRADE_REQUIRED".