Skip to main content
c.Databases gestisce i database gestiti di Square Cloud (MongoDB, MySQL, PostgreSQL e Redis). Ogni metodo accetta prima ctx e, tranne Create e StatusAll, poi l’id del database. Per elencare i tuoi database, usa c.Account.Me: il suo slice Databases contiene ogni database che la chiave può vedere. L’hosting di database richiede un piano Standard, Pro o Enterprise. Ogni snippet qui sotto funziona da solo all’interno di questo programma: incollane uno alla volta in main ed esegui goimports (vedi Eseguire gli esempi).

Creare un database

Il risultato è un DatabaseCreated con ID, Name, Memory, CPU (float64), Type, Password, Certificate (*string, nil quando l’API non ne invia), ConnectionURL (connection_url) e Cluster. La password e il certificato vengono restituiti solo da Create (e da ResetCredentials). Senza una scadenza su ctx, la chiamata attende almeno 2 minuti prima di andare in timeout.

Recuperare un database

Aggiornare un database

Update(ctx, databaseID, squarecloud.DatabaseUpdate{Name, RAM}) rinomina o ridimensiona un database. I campi a valore zero non vengono inviati; impostane almeno uno (altrimenti 400 NO_UPDATE_DATA).

Avvio e arresto

Come le chiamate del ciclo di vita delle app, senza una scadenza su ctx attendono almeno 2 minuti, e un rifiuto è un 409 con un codice e un messaggio vuoto: CONTAINER_ALREADY_STARTED, CONTAINER_ALREADY_STOPPED, CONTAINER_NOT_FOUND, CONTAINER_INSUFFICIENT_DISK_SPACE, CONTAINER_NETWORK_CONFLICT o ACTION_FAILED. Mentre è in corso il ripristino di uno snapshot, producono 403 RESTORE_IN_PROGRESS.

Stato e metriche

Status(ctx, databaseID) restituisce valori formattati; StatusRaw(ctx, databaseID) restituisce numeri. StatusAll(ctx) restituisce un riepilogo per ogni database. Metrics(ctx, databaseID) restituisce le ultime 24 ore, un punto ogni 5 minuti, dal più recente.
I campi di stato sono gli stessi dello stato delle app.

Credenziali

Certificate(ctx, databaseID) restituisce il certificato TLS come PEM codificato in base64. ResetCredentials(ctx, databaseID, reset) rigenera la password (squarecloud.ResetPassword, restituisce quella nuova) o il certificato (squarecloud.ResetCertificate, restituisce ""). Il database deve essere in esecuzione (400 DATABASE_NOT_RUNNING).

Eliminare un database

L’eliminazione è permanente. Crea prima uno snapshot se potresti aver ancora bisogno dei dati.

Snapshot

c.Databases.Snapshots ha gli stessi List, Create e Restore delle app. Vedi Snapshot.

Prossimi passi

Workspace

Condividi le app con il tuo team.

Riferimento API dei database

Gli endpoint REST dietro questi metodi.

Database dalla CLI

Le stesse azioni dal terminale.