Skip to main content
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

Wie die Lebenszyklus-Aufrufe von Apps warten sie ohne Deadline auf 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.
Die Statusfelder sind dieselben wie beim App-Status.

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

Das Löschen ist endgültig. Erstelle zuerst einen Snapshot, wenn du die Daten eventuell noch einmal brauchst.

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.