Skip to main content
Los snapshots son copias de seguridad del almacenamiento de una aplicación o de una base de datos. Las aplicaciones y las bases de datos comparten los mismos tres métodos:
  • api.apps.snapshots: list(appId), create(appId), restore(appId, name, versionId)
  • api.databases.snapshots: list(databaseId), create(databaseId), restore(databaseId, name, versionId)
La cantidad de snapshots que puedes crear por día depende de tu plan (consulta Límites). Los ejemplos usan el cliente api de Crear el cliente. appId es el id de una de tus aplicaciones: api.account.me() las lista.

Listar snapshots

Crear un snapshot

create() espera al snapshot (al menos 120 s antes de agotar el tiempo). Es posible que un snapshot grande no termine a tiempo: en ese caso la API responde 202 y el SDK devuelve { pending: true }. El snapshot se sigue generando y aparece por sí solo en list(), normalmente en menos de 2 minutos.
Nunca vuelvas a llamar a create() para comprobar un snapshot pendiente: eso inicia uno nuevo y cuenta para la cuota diaria de snapshots del plan. Consulta list() periódicamente en su lugar.

Restaurar un snapshot

restore(id, name, versionId) recibe el name y el version_id de un snapshot del listado.

Descargar un snapshot

api.downloadSnapshot(url, { signal }) transmite un archivo de snapshot desde su url firmada (de list() o create()). No llama a la API: la clave de API nunca se envía al host de almacenamiento. Devuelve un ReadableStream<Uint8Array>, sin nada almacenado en memoria, y no tiene timeout (pasa un signal).
Una URL caducada o no válida lanza un SquareCloudAPIError con el estado HTTP del host de almacenamiento y UNKNOWN_ERROR.

Snapshots de la cuenta

api.account.snapshots({ scope }) lista todos los snapshots de la cuenta, opcionalmente solo los de "applications" o "databases". Necesita un plan activo y comparte el límite de tasa de los endpoints de red (429 RATE_LIMITED).

Límites

  • create() está limitado a una llamada cada 180 segundos y a una cuota diaria que depende del plan: superar la cuota da 429 DAILY_SNAPSHOTS_LIMIT_REACHED.
  • Mientras se ejecuta una restauración, eliminar la aplicación o iniciar la base de datos da 403 RESTORE_IN_PROGRESS.

Próximos pasos

Bases de datos

Crea y gestiona bases de datos.

Referencia de la API de snapshots

Los endpoints REST detrás de estos métodos.

Snapshots desde la CLI

Las mismas acciones desde la terminal.