Skip to main content
c.Databases 管理 Square Cloud 的托管数据库(MongoDB、MySQL、PostgreSQL 和 Redis)。每个方法都以 ctx 作为第一个参数,除 Create 和 StatusAll 外,其次是数据库 ID。要列出你的数据库,请使用 c.Account.Me:它的 Databases 切片包含该密钥可见的所有数据库。 数据库托管需要 Standard、Pro 或 Enterprise 套餐。 下面的每个代码片段都可以在这个程序中单独运行:每次将一个片段粘贴到 main 中,然后运行 goimports(参见运行示例)。

创建数据库

结果是一个 DatabaseCreated,包含 ID、Name、Memory、CPU(float64)、Type、Password、Certificate(*string,API 未发送时为 nil)、ConnectionURL(connection_url)和 Cluster。密码和证书仅由 Create(以及 ResetCredentials)返回。在 ctx 没有截止时间的情况下,该调用至少等待 2 分钟才会超时。

获取数据库

更新数据库

Update(ctx, databaseID, squarecloud.DatabaseUpdate{Name, RAM}) 重命名数据库或调整其大小。零值字段不会被发送;至少设置一个字段(否则返回 400 NO_UPDATE_DATA)。

启动和停止

与应用的生命周期调用一样,在 ctx 没有截止时间的情况下,它们至少等待 2 分钟,被拒绝时返回 409,带有代码和空消息:CONTAINER_ALREADY_STARTED、CONTAINER_ALREADY_STOPPED、CONTAINER_NOT_FOUND、CONTAINER_INSUFFICIENT_DISK_SPACE、CONTAINER_NETWORK_CONFLICT 或 ACTION_FAILED。在 snapshot 恢复进行期间,它们会返回 403 RESTORE_IN_PROGRESS。

状态和指标

Status(ctx, databaseID) 返回格式化的值;StatusRaw(ctx, databaseID) 返回数字。StatusAll(ctx) 为每个数据库返回一份摘要。Metrics(ctx, databaseID) 返回最近 24 小时的数据,每 5 分钟一个数据点,最新的在前。
状态字段与应用状态相同。

凭据

Certificate(ctx, databaseID) 以 base64 编码的 PEM 返回 TLS 证书。ResetCredentials(ctx, databaseID, reset) 轮换密码(squarecloud.ResetPassword,返回新密码)或证书(squarecloud.ResetCertificate,返回 "")。数据库必须处于运行状态(否则返回 400 DATABASE_NOT_RUNNING)。

删除数据库

删除是永久性的。如果你可能还需要这些数据,请先创建一个 snapshot。

Snapshots

c.Databases.Snapshots 拥有与应用相同的 List、Create 和 Restore。参见 Snapshots。

后续步骤

Workspaces

与团队共享应用。

数据库 API 参考

这些方法背后的 REST 端点。

用 CLI 管理数据库

在终端中完成同样的操作。