Skip to main content
Les snapshots sont des sauvegardes du stockage d’une application ou d’une base de données. Les applications et les bases de données partagent les trois mêmes méthodes :
  • api.apps.snapshots : list(appId), create(appId), restore(appId, name, versionId)
  • api.databases.snapshots : list(databaseId), create(databaseId), restore(databaseId, name, versionId)
Le nombre de snapshots que vous pouvez créer par jour dépend de votre plan (voir Limites). Les exemples utilisent le client api présenté dans Créer le client. appId est l’identifiant de l’une de vos applications : api.account.me() les liste.

Lister les snapshots

Créer un snapshot

create() attend le snapshot (au moins 120 s avant d’expirer). Un gros snapshot peut ne pas se terminer à temps : l’API répond alors 202 et le SDK renvoie { pending: true }. Le snapshot continue de se générer et apparaît de lui-même dans list(), généralement en moins de 2 minutes.
N’appelez jamais create() à nouveau pour vérifier un snapshot en attente : cela en lance un nouveau et compte dans le quota quotidien de snapshots du plan. Interrogez plutôt list().

Restaurer un snapshot

restore(id, name, versionId) prend le name et le version_id d’un snapshot listé.

Télécharger un snapshot

api.downloadSnapshot(url, { signal }) diffuse en flux un fichier de snapshot depuis son url signée (issue de list() ou de create()). Elle n’appelle pas l’API : la clé API n’est jamais envoyée à l’hôte de stockage. Elle renvoie un ReadableStream<Uint8Array>, sans rien mettre en mémoire tampon, et n’a pas de timeout (passez un signal).
Une URL expirée ou invalide lève une SquareCloudAPIError avec le statut HTTP de l’hôte de stockage et UNKNOWN_ERROR.

Snapshots du compte

api.account.snapshots({ scope }) liste tous les snapshots du compte, éventuellement uniquement "applications" ou "databases". Elle nécessite un plan actif et partage la limite de débit des endpoints réseau (429 RATE_LIMITED).

Limites

  • create() est limitée à un appel toutes les 180 secondes et à un quota quotidien qui dépend du plan : dépasser le quota donne 429 DAILY_SNAPSHOTS_LIMIT_REACHED.
  • Pendant une restauration, supprimer l’application ou démarrer la base de données donne 403 RESTORE_IN_PROGRESS.

Prochaines étapes

Bases de données

Créez et gérez des bases de données.

Référence de l'API des snapshots

Les endpoints REST derrière ces méthodes.

Snapshots depuis la CLI

Les mêmes actions depuis le terminal.