c.Databases gère les bases de données gérées de Square Cloud (MongoDB, MySQL, PostgreSQL et Redis). Chaque méthode prend d’abord ctx puis, sauf Create et StatusAll, l’identifiant de la base de données. Pour lister vos bases de données, utilisez c.Account.Me : sa slice Databases contient toutes les bases de données que la clé peut voir.
L’hébergement de bases de données nécessite un plan Standard, Pro ou Enterprise.
Chaque extrait ci-dessous s’exécute seul dans ce programme : collez-en un à la fois dans main et lancez goimports (voir Exécuter les exemples).
Créer une base de données
Le résultat est un
DatabaseCreated avec ID, Name, Memory, CPU (float64), Type, Password, Certificate (*string, nil quand l’API n’en envoie pas), ConnectionURL (connection_url) et Cluster. Le mot de passe et le certificat ne sont renvoyés que par Create (et par ResetCredentials). Sans échéance sur ctx, l’appel attend au moins 2 minutes avant d’expirer.
Récupérer une base de données
Mettre à jour une base de données
Update(ctx, databaseID, squarecloud.DatabaseUpdate{Name, RAM}) renomme ou redimensionne une base de données. Les champs à la valeur zéro ne sont pas envoyés ; définissez-en au moins un (400 NO_UPDATE_DATA sinon).
Démarrer et arrêter
ctx ils attendent au moins 2 minutes, et un refus donne 409 avec un code et un message vide : CONTAINER_ALREADY_STARTED, CONTAINER_ALREADY_STOPPED, CONTAINER_NOT_FOUND, CONTAINER_INSUFFICIENT_DISK_SPACE, CONTAINER_NETWORK_CONFLICT ou ACTION_FAILED. Pendant la restauration d’un snapshot, ils donnent 403 RESTORE_IN_PROGRESS.
Statut et métriques
Status(ctx, databaseID) renvoie des valeurs formatées ; StatusRaw(ctx, databaseID) renvoie des nombres. StatusAll(ctx) renvoie un résumé par base de données. Metrics(ctx, databaseID) renvoie les dernières 24 heures, un point toutes les 5 minutes, du plus récent au plus ancien.
Identifiants
Certificate(ctx, databaseID) renvoie le certificat TLS en PEM encodé en base64. ResetCredentials(ctx, databaseID, reset) renouvelle le mot de passe (squarecloud.ResetPassword, renvoie le nouveau) ou le certificat (squarecloud.ResetCertificate, renvoie ""). La base de données doit être en cours d’exécution (400 DATABASE_NOT_RUNNING).
Supprimer une base de données
Snapshots
c.Databases.Snapshots dispose des mêmes List, Create et Restore que les applications. Voir Snapshots.
Prochaines étapes
Workspaces
Partagez des applications avec votre équipe.
Référence de l'API des bases de données
Les endpoints REST derrière ces méthodes.
Bases de données depuis la CLI
Les mêmes actions depuis le terminal.

