Square Cloud をコードから、JavaScript、Python、Go で
Square Cloud API の公式 SDK。デプロイ、再起動、ログの取得、ファイルの編集、スナップショットの作成、ドメインの設定を自分のスクリプトから行えます。ランタイム依存はゼロです。
言語を選んでインストール
公式パッケージは 4 つ。Square Cloud API 用が 3 つ、Blob Storage 用が 1 つです。どれも必要なのは各言語のランタイムだけです。
JavaScript と TypeScript
@squarecloud/api
Node.js 22+、Deno、Bun、エッジランタイム
npm install @squarecloud/apiPython
squarecloud-api
Python 3.11+、同期・非同期クライアント付き
pip install squarecloud-apiGo
github.com/squarecloudofc/sdk-api-go/v3
Go 1.22+、すべての呼び出しで context に対応
go get github.com/squarecloudofc/sdk-api-go/v3Blob Storage
@squarecloud/blob
Node.js 20+ とブラウザ
npm install @squarecloud/blob
最初の呼び出し
API キーを作成して環境変数 SQUARECLOUD_API_KEY に設定し、以下のプログラムのいずれかを実行します。あなたの名前と、そのキーで参照できるアプリケーションの数が表示されます。
import { SquareCloudAPI } from "@squarecloud/api";const api = new SquareCloudAPI(process.env.SQUARECLOUD_API_KEY);const { user, applications } = await api.account.me();console.log(`Hi ${user.name}, you have ${applications.length} apps`);import osfrom squarecloud import SquareCloudwith SquareCloud(os.environ["SQUARECLOUD_API_KEY"]) as client: me = client.account.me() print(f"Hi {me['user']['name']}, you have {len(me['applications'])} apps")package mainimport ( "context" "fmt" "log" "os" "github.com/squarecloudofc/sdk-api-go/v3")func main() { c := squarecloud.New(os.Getenv("SQUARECLOUD_API_KEY")) me, err := c.Account.Me(context.Background()) if err != nil { log.Fatal(err) } fmt.Printf("Hi %s, you have %d apps\n", me.User.Name, len(me.Applications))}API でできることは、すべてコードから
JavaScript、Python、Go の SDK は API リファレンスのすべての操作に対応し、CI を実行するたびに OpenAPI 仕様と照合しています。以下のメソッド名は JavaScript のものです。Python は snake_case、Go は PascalCase を使います。
アプリケーション
1 つまたはすべてのアプリケーションの状態を取得し、起動、停止、再起動。ログと CPU、RAM、ネットワークのメトリクスも取得できます。
apps.statusAllapps.restartapps.logsapps.metricsデプロイ
ZIP からアプリケーションを作成し、新しいファイルをコミット。GitHub のリポジトリとブランチの連携や Webhook の設定、過去のデプロイの一覧表示もできます。
apps.createapps.commitdeploys.linkGithubAppファイルと変数
アプリケーションのファイルを一覧、読み取り、書き込み、移動、削除し、環境変数を取得、設定、置き換えできます。
files.writefiles.readenvs.setリアルタイム
アプリケーションのログと状態を、ループで回せるイテレーターとしてリアルタイムに追跡。接続が切れても自動で再接続します。
apps.realtimeスナップショット
アプリケーションとデータベースのスナップショットを作成、一覧表示、復元し、スナップショットファイルをストリームでダウンロードできます。
snapshots.createsnapshots.restoredownloadSnapshotネットワーク
カスタムドメインを設定して DNS レコードを取得し、キャッシュを削除。指定した期間のアナリティクス、エラー、パフォーマンスも照会できます。
network.setDomainnetwork.purgeCachenetwork.analyticsデータベース
MongoDB、PostgreSQL、MySQL、Redis のデータベースを作成し、RAM の変更、状態の取得、パスワードや証明書のリセットができます。
databases.createdatabases.resetCredentialsワークスペース
ワークスペースを作成し、招待コードでメンバーを追加。グループの変更やチームとのアプリケーション共有もできます。
workspaces.members.addworkspaces.apps.addAI
同じクライアントと同じキーで、Square Cloud AI Gateway に OpenAI 互換のチャットリクエストを送信できます。
ai.chat
JavaScript から Blob Storage を
@squarecloud/blob は Blob Storage 用の SDK です。アップロード、非公開ファイル、共有リンク、フォルダルール、S3 互換ゲートウェイを Node.js とブラウザで使えます。 Blob Storage を見る
大容量アップロード
ファイルパス、Blob、バイト列のいずれかを渡すだけ。大きなファイルはディスクからストリーミングし、並列パートで最大 10 GiB までアップロードします。
putlist非公開ファイル
非公開ファイルには公開 URL がありません。有効期限付きのダウンロードリンクか、いつでも取り消せる共有リンクを作成できます。
downloadUrlshares.createshares.revokeブラウザからのアップロード
サーバーが短時間だけ有効なアップロードトークンを作成し、ブラウザはそれを使ってアップロードします。API キーがサーバーの外に出ることはありません。
uploadTokens.create
どの言語でも同じ設計
依存ゼロ
各 SDK は言語の標準ライブラリかプラットフォームの fetch だけを使うため、ロックファイルに余計なものが増えません。
エラー型は 1 つ
API、ネットワーク、ローカルのどの失敗も同じエラークラスをスローし、HTTP ステータスと API のエラーコードを含みます。
安全なリトライ
試行ごとに 30 秒のタイムアウト。リトライは繰り返しても安全な失敗に限り、429 では決してリトライしません。
スコープ付きキー
キーは一部の権限や特定のアプリケーション、データベースに限定できます。一覧には、そのキーで参照できるものだけが返ります。
ほかのツールも
同じ API キーと同じ SQUARECLOUD_API_KEY 変数が、ターミナルでも CI でもエディタでもコードでも使えます。
プロジェクトのあらゆる段階に対応するプラン
小さく始めて、必要なときにスケール。縛り契約はありません。
Hobby
アイデア検証、ボット、個人プロジェクトに
月額 R$12.49から ≈ ¥337
- RAM 1 GB
- 1 vCPU
- 最大 4 プロジェクト
- 同じプランで最大 2 GB まで拡張
Standard
おすすめデータベースとカスタムドメインを備えた本番運用に
月額 R$44.99から ≈ ¥1,215
- RAM 4 GB
- 4 vCPU
- 最大 16 プロジェクト
- 同じプランで最大 8 GB まで拡張
Pro
アプリケーションの毎日のスナップショットと高度なアナリティクスを備えた大規模運用に
月額 R$124.99から ≈ ¥3,375
- RAM 12 GB
- 6 vCPU
- 最大 48 プロジェクト
- 同じプランで最大 24 GB まで拡張
5点中4.9点 · Google + Trustpilotで402件のレビューTrustpilot
SDK についての質問
公式の Square Cloud SDK があるのはどの言語ですか?
JavaScript と TypeScript(@squarecloud/api)、Python(squarecloud-api)、Go(github.com/squarecloudofc/sdk-api-go)です。Blob Storage には専用の JavaScript SDK、@squarecloud/blob があります。4 つとも GitHub でオープンソースとして公開しています。
SDK は API 全体に対応していますか?
はい。JavaScript、Python、Go の SDK は Square Cloud API リファレンスのすべての操作とスナップショットのダウンロードに対応し、CI を実行するたびに OpenAPI 仕様と照合しています。Blob Storage とその S3 互換ゲートウェイには @squarecloud/blob が対応しています。
SDK を使うにはどのプランが必要ですか?
SDK はオープンソースのパッケージです。SDK が呼び出す API は Hobby 以上の Square Cloud のすべてのプランに含まれ、1 分あたりのリクエスト数はプランによって異なります。
API キーはどこに保管すればよいですか?
環境変数 SQUARECLOUD_API_KEY に保管し、ソースコードには決して書かないでください。各キーには必要な権限とリソースだけを与え、漏えいした場合はアカウントのセキュリティ設定で取り消してください。
SDK はブラウザで使えますか?
API 用の SDK はサーバー向けです(Node.js、Deno、Bun、エッジランタイム、Python、Go)。ブラウザで使うと API キーが露出してしまいます。ブラウザからのアップロードには、@squarecloud/blob がサーバーで作成した短時間有効なアップロードトークンを使います。
古いバージョンを使っています。何が変わりましたか?
現行バージョンは書き直されています。メソッドはクライアントにまとまり、レスポンスは API のフィールド名そのままのプレーンなデータになり、失敗はすべて 1 つのエラー型で表されます。各 SDK のドキュメントに、前のメジャーバージョンからの移行ガイドがあります。
SDK、CLI、GitHub Action のどれを使えばよいですか?
呼び出しがコードの中にあるなら SDK を使います。たとえばアプリケーションを再起動するボットのコマンドや、スナップショットを作成するスクリプトです。ターミナルでは CLI を、push のたびにデプロイするなら GitHub Action を使います。