Skip to main content
c.Databases gestiona las bases de datos gestionadas de Square Cloud (MongoDB, MySQL, PostgreSQL y Redis). Todos los métodos reciben primero ctx y, salvo Create y StatusAll, después el id de la base de datos. Para listar tus bases de datos, usa c.Account.Me: su slice Databases contiene todas las bases de datos que la clave puede ver. El alojamiento de bases de datos requiere un plan Standard, Pro o Enterprise. Cada fragmento de abajo se ejecuta por sí solo dentro de este programa: pega uno a la vez en main y ejecuta goimports (consulta Ejecutar los ejemplos).

Crear una base de datos

El resultado es un DatabaseCreated con ID, Name, Memory, CPU (float64), Type, Password, Certificate (*string, nil cuando la API no envía ninguno), ConnectionURL (connection_url) y Cluster. La contraseña y el certificado solo los devuelve Create (y ResetCredentials). Sin un deadline en ctx, la llamada espera al menos 2 minutos antes de agotar el tiempo.

Obtener una base de datos

Actualizar una base de datos

Update(ctx, databaseID, squarecloud.DatabaseUpdate{Name, RAM}) renombra o redimensiona una base de datos. Los campos con valor cero no se envían; define al menos uno (en caso contrario, 400 NO_UPDATE_DATA).

Iniciar y detener

Al igual que las llamadas del ciclo de vida de las aplicaciones, sin un deadline en ctx esperan al menos 2 minutos, y un rechazo es un 409 con un código y un mensaje vacío: CONTAINER_ALREADY_STARTED, CONTAINER_ALREADY_STOPPED, CONTAINER_NOT_FOUND, CONTAINER_INSUFFICIENT_DISK_SPACE, CONTAINER_NETWORK_CONFLICT o ACTION_FAILED. Mientras se ejecuta la restauración de un snapshot, dan 403 RESTORE_IN_PROGRESS.

Estado y métricas

Status(ctx, databaseID) devuelve valores formateados; StatusRaw(ctx, databaseID) devuelve números. StatusAll(ctx) devuelve un resumen por base de datos. Metrics(ctx, databaseID) devuelve las últimas 24 horas, un punto cada 5 minutos, del más reciente al más antiguo.
Los campos de estado son los mismos que los del estado de las aplicaciones.

Credenciales

Certificate(ctx, databaseID) devuelve el certificado TLS como PEM codificado en base64. ResetCredentials(ctx, databaseID, reset) rota la contraseña (squarecloud.ResetPassword, devuelve la nueva) o el certificado (squarecloud.ResetCertificate, devuelve ""). La base de datos debe estar en ejecución (400 DATABASE_NOT_RUNNING).

Eliminar una base de datos

La eliminación es permanente. Toma primero un snapshot si es posible que vuelvas a necesitar los datos.

Snapshots

c.Databases.Snapshots tiene los mismos List, Create y Restore que las aplicaciones. Consulta Snapshots.

Próximos pasos

Workspaces

Comparte aplicaciones con tu equipo.

Referencia de la API de bases de datos

Los endpoints REST detrás de estos métodos.

Bases de datos desde la CLI

Las mismas acciones desde la terminal.