Square Cloud をコードから、JavaScript、Python、Go で

Square Cloud API の公式 SDK。デプロイ、再起動、ログの取得、ファイルの編集、スナップショットの作成、ドメインの設定を自分のスクリプトから行えます。ランタイム依存はゼロです。

GitHub でオープンソースとして公開。どの言語でもメソッドとエラーは共通です。

言語を選んでインストール

公式パッケージは 4 つ。Square Cloud API 用が 3 つ、Blob Storage 用が 1 つです。どれも必要なのは各言語のランタイムだけです。

最初の呼び出し

API キーを作成して環境変数 SQUARECLOUD_API_KEY に設定し、以下のプログラムのいずれかを実行します。あなたの名前と、そのキーで参照できるアプリケーションの数が表示されます。

index.mjs
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`);
main.py
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")
main.go
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.add

  • AI

    同じクライアントと同じキーで、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 では決してリトライしません。

  • スコープ付きキー

    キーは一部の権限や特定のアプリケーション、データベースに限定できます。一覧には、そのキーで参照できるものだけが返ります。

プロジェクトのあらゆる段階に対応するプラン

小さく始めて、必要なときにスケール。縛り契約はありません。

5点中4.9点 · Google + Trustpilotで402件のレビューTrustpilot

認証を取得したパートナーデータセンターでホスティング
Tier 3ISO 27001SOC 2 Type II常時稼働のDDoS保護
インフラストラクチャを見る

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 を使います。

プロジェクトをスケールさせる準備はできましたか?

Square Cloud でプロジェクトをホスティングしてきた 50 万人以上の開発者の仲間入りをしましょう。

  • 予測可能な料金
  • 請求のサプライズなし
  • 数秒でデプロイ
  • 高可用性
  • 安定したスケール
  • 自動再起動
  • SSLとセキュリティを標準搭載
  • 分離されたコンテナ