c.Apps.Snapshots:List(ctx, appID)、Create(ctx, appID)、Restore(ctx, appID, name, versionID)c.Databases.Snapshots:List(ctx, databaseID)、Create(ctx, databaseID)、Restore(ctx, databaseID, name, versionID)
main に貼り付けて goimports を実行してください (サンプルの実行を参照)。
Snapshot の一覧
Snapshot の作成
Create は snapshot の完了を待ちます (ctx に期限がない場合、タイムアウトまで最低 2 分)。大きな snapshot は時間内に完了しないことがあります。その場合 API は 202 を返し、SDK は Pending が true の SnapshotCreated と nil のエラーを返します。Snapshot の生成は続き、通常 2 分以内に自動的に List に表示されます。
Snapshot の復元
Restore(ctx, id, name, versionID) は、一覧に表示された snapshot の Name と VersionID を受け取ります。
Snapshot のダウンロード
c.DownloadSnapshot(ctx, url, w) は、署名付きの url (List または Create から取得) から snapshot ファイルを任意の io.Writer にストリーミングします。API は呼び出しません。API キーがストレージホストに送信されることはなく、URL が返されるエラーに含まれることもありません。メモリには何もバッファされず、デフォルトの期限もありません (ctx で期限を設けるかキャンセルしてください)。レスポンス前のネットワークエラーは、通常の GET と同様にリトライされます。
UNKNOWN_ERROR を持つ *APIError を返します。解析できない URL と、あなたの io.Writer のエラーは、通常のエラーとして返されます。
アカウントの snapshot
c.Account.Snapshots(ctx, scope) はアカウントのすべての snapshot を一覧します。すべてを対象にするには "" を、または squarecloud.SnapshotScopeApplications か squarecloud.SnapshotScopeDatabases を渡します。アクティブなプランが必要で、ネットワークの endpoint とレート制限を共有します (429 RATE_LIMITED)。
制限
Createは 180 秒に 1 回、かつプランに応じた 1 日あたりのクォータまでに制限されています。クォータを超えると 429DAILY_SNAPSHOTS_LIMIT_REACHEDになります。- 復元の実行中にアプリを削除したりデータベースを起動したりすると、403
RESTORE_IN_PROGRESSになります。
次のステップ
データベース
データベースを作成して管理します。
Snapshot API リファレンス
これらのメソッドが呼び出す REST endpoint。
CLI で snapshot を操作
同じ操作をターミナルから行います。

