c.Apps.Snapshots:List(ctx, appID),Create(ctx, appID),Restore(ctx, appID, name, versionID)c.Databases.Snapshots:List(ctx, databaseID),Create(ctx, databaseID),Restore(ctx, databaseID, name, versionID)
main y ejecuta goimports (consulta Ejecutar los ejemplos).
Listar snapshots
Crear un snapshot
Create espera al snapshot (sin un deadline en ctx, al menos 2 minutos 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 un SnapshotCreated con Pending en true y un error nil. El snapshot se sigue generando y aparece por sí solo en List, normalmente en menos de 2 minutos.
Restaurar un snapshot
Restore(ctx, id, name, versionID) recibe el Name y el VersionID de un snapshot del listado.
Descargar un snapshot
c.DownloadSnapshot(ctx, url, w) transmite un archivo de snapshot desde su url firmada (de List o Create) a cualquier io.Writer. No llama a la API: la clave de API nunca se envía al host de almacenamiento, y la URL nunca aparece en el error devuelto. No se almacena nada en memoria, y no hay deadline por defecto (limítalo o cancélalo con ctx). Un error de red antes de la respuesta se reintenta como cualquier GET.
*APIError con el estado HTTP del host de almacenamiento y UNKNOWN_ERROR. Una URL que no se puede analizar y un error de tu io.Writer se devuelven como errores simples.
Snapshots de la cuenta
c.Account.Snapshots(ctx, scope) lista todos los snapshots de la cuenta. Pasa "" para todos, o squarecloud.SnapshotScopeApplications o squarecloud.SnapshotScopeDatabases. Necesita un plan activo y comparte el límite de tasa de los endpoints de red (429 RATE_LIMITED).
Límites
Createestá 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.

