Skip to main content
c.Databases は Square Cloud のマネージドデータベース (MongoDB、MySQL、PostgreSQL、Redis) を管理します。すべてのメソッドは第 1 引数に ctx を取り、Create と StatusAll を除いて、その次にデータベース ID を取ります。データベースを一覧するには c.Account.Me を使います。その Databases スライスに、キーから見えるすべてのデータベースが含まれています。 データベースのホスティングには Standard、Pro、または Enterprise プランが必要です。 以下の各スニペットは、このプログラムの中で単独で動作します。1 つずつ 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}) はデータベースの名前を変更したり、サイズを変更したりします。ゼロ値のフィールドは送信されません。少なくとも 1 つは設定してください (設定しないと 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) はデータベースごとに 1 つのサマリーを返します。Metrics(ctx, databaseID) は直近 24 時間分を、5 分ごとに 1 ポイント、新しい順で返します。
ステータスのフィールドはアプリのステータスと同じです。

認証情報

Certificate(ctx, databaseID) は TLS 証明書を base64 エンコードされた PEM として返します。ResetCredentials(ctx, databaseID, reset) はパスワード (squarecloud.ResetPassword。新しいパスワードを返します) または証明書 (squarecloud.ResetCertificate。"" を返します) をローテーションします。データベースは実行中である必要があります (400 DATABASE_NOT_RUNNING)。

データベースの削除

削除は元に戻せません。データが再び必要になる可能性がある場合は、先に snapshot を作成してください。

Snapshot

c.Databases.Snapshots には、アプリと同じ List、Create、Restore があります。Snapshot を参照してください。

次のステップ

Workspace

チームとアプリを共有します。

データベース API リファレンス

これらのメソッドが呼び出す REST endpoint。

CLI でデータベースを操作

同じ操作をターミナルから行います。