app.backup / app.backups y la clase Backup se eliminaron. Usa app.snapshots (el SnapshotsModule), cuyas entradas son instancias de Snapshot (DatabaseSnapshot para snapshots de bases de datos).
app.snapshots expone el SnapshotsModule.
Límites de tasa
- Los resultados de
app.snapshots.list() se almacenan en caché en el servidor durante 30 minutos.
app.snapshots.create() (y el equivalente para bases de datos) está limitado a 1 solicitud cada 5 segundos por usuario y 1 solicitud cada 3 minutos por recurso (aplicación o base de datos).
- Cada plan también tiene una cuota diaria de snapshots. Al agotarse, la creación falla con un
429 y code: "DAILY_SNAPSHOTS_LIMIT_REACHED" — distinto del error genérico de límite de tasa corto KEEP_CALM.
Listar snapshots
app.snapshots.list() devuelve un array de instancias Snapshot.
Cada snapshot se puede descargar directamente:
Crear un nuevo snapshot
app.snapshots.create() dispara un snapshot nuevo y devuelve la URL firmada y la key.
Descargar en un solo paso
app.snapshots.download() crea un snapshot y lo descarga como un Buffer.
Restaurar desde un snapshot
app.snapshots.restore({ snapshotId, versionId }) revierte la aplicación a una versión de snapshot anterior.
Listar snapshots de toda la cuenta
api.user.snapshots(scope?) devuelve todos los snapshots que posees en todas tus aplicaciones o bases de datos. scope por defecto es "applications".
api.user.snapshots() requiere un plan de pago activo. Las cuentas sin uno reciben un 402 con code: "UPGRADE_REQUIRED".