client.apps.snapshots:list(app_id),create(app_id),restore(app_id, name, version_id)client.databases.snapshots:list(database_id),create(database_id),restore(database_id, name, version_id)
client de Crear el cliente. app_id es el id de una de tus aplicaciones: client.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. En caso contrario, devuelve {'pending': False, 'url': ..., 'key': ...}.
Restaurar un snapshot
restore(id, name, version_id) recibe el name y el version_id de un snapshot del listado.
Descargar un snapshot
client.download_snapshot(url, dest) transmite un archivo de snapshot desde su url firmada (de list() o create()) al disco y devuelve la ruta en la que lo escribió. No llama a la API: la clave de API nunca se envía al host de almacenamiento. No se almacena nada en memoria.
destes una ruta de archivo, o un directorio para conservar el nombre del archivo remoto. Una ruta que termina en/se crea como directorio.- Los datos van a un archivo
.partque se renombra al completarse, así que una descarga fallida nunca sobrescribe un archivo anterior. - No hay timeout para toda la descarga:
timeoutlimita cada lectura.
AsyncSquareCloud, es await client.download_snapshot(url, dest).
Una URL caducada o no válida lanza un SquareCloudAPIError con el estado HTTP del host de almacenamiento y UNKNOWN_ERROR. Un destino en el que no se puede escribir lanza un OSError.
Snapshots de la cuenta
client.account.snapshots(scope=None) lista todos los snapshots de la cuenta, opcionalmente solo los de "applications" o "databases" (solo por palabra clave). 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 429DAILY_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.

