c.Databases verwaltet die Managed Databases von Square Cloud (MongoDB, MySQL, PostgreSQL und Redis). Jede Methode nimmt zuerst ctx und, außer bei Create und StatusAll, danach die Datenbank-ID. Um deine Datenbanken aufzulisten, verwende c.Account.Me: Sein Slice Databases enthält jede Datenbank, die der Schlüssel sehen kann.
Datenbank-Hosting erfordert einen Standard-, Pro- oder Enterprise-Plan.
Jedes Snippet unten läuft für sich allein in diesem Programm: Füge jeweils eines in main ein und führe goimports aus (siehe Beispiele ausführen).
Eine Datenbank erstellen
Das Ergebnis ist ein
DatabaseCreated mit ID, Name, Memory, CPU (float64), Type, Password, Certificate (*string, nil, wenn die API keines sendet), ConnectionURL (connection_url) und Cluster. Passwort und Zertifikat werden nur von Create (und von ResetCredentials) zurückgegeben. Ohne Deadline auf ctx wartet der Aufruf mindestens 2 Minuten, bevor ein Timeout eintritt.
Eine Datenbank abrufen
Eine Datenbank aktualisieren
Update(ctx, databaseID, squarecloud.DatabaseUpdate{Name, RAM}) benennt eine Datenbank um oder ändert ihre Größe. Felder mit Nullwert werden nicht gesendet; setze mindestens eines (sonst 400 NO_UPDATE_DATA).
Starten und Stoppen
ctx mindestens 2 Minuten, und eine Ablehnung ist 409 mit einem Code und einer leeren Nachricht: CONTAINER_ALREADY_STARTED, CONTAINER_ALREADY_STOPPED, CONTAINER_NOT_FOUND, CONTAINER_INSUFFICIENT_DISK_SPACE, CONTAINER_NETWORK_CONFLICT oder ACTION_FAILED. Während eine Snapshot-Wiederherstellung läuft, ergeben sie 403 RESTORE_IN_PROGRESS.
Status und Metriken
Status(ctx, databaseID) gibt formatierte Werte zurück; StatusRaw(ctx, databaseID) gibt Zahlen zurück. StatusAll(ctx) gibt eine Zusammenfassung pro Datenbank zurück. Metrics(ctx, databaseID) gibt die letzten 24 Stunden zurück, einen Punkt alle 5 Minuten, der neueste zuerst.
Zugangsdaten
Certificate(ctx, databaseID) gibt das TLS-Zertifikat als Base64-kodiertes PEM zurück. ResetCredentials(ctx, databaseID, reset) erneuert das Passwort (squarecloud.ResetPassword, gibt das neue zurück) oder das Zertifikat (squarecloud.ResetCertificate, gibt "" zurück). Die Datenbank muss laufen (400 DATABASE_NOT_RUNNING).
Eine Datenbank löschen
Snapshots
c.Databases.Snapshots hat dieselben Methoden List, Create und Restore wie Apps. Siehe Snapshots.
Nächste Schritte
Workspaces
Apps mit deinem Team teilen.
API-Referenz für Datenbanken
Die REST-Endpunkte hinter diesen Methoden.
Datenbanken über die CLI
Dieselben Aktionen im Terminal.

