概要
初期化とオプション
メソッドごとの対応
型
型は SDK に同梱され、API のフィールド名を反映しています。@squarecloud/api-types と v5 のクラスからの主な名称変更:
エラー
- 合成コード (
RATE_LIMIT_EXCEEDED、PAYLOAD_TOO_LARGE、SERVER_UNAVAILABLE、UNKNOWN_ERROR_<status>) は廃止されました。API の実際のコード (RATE_LIMITED、KEEP_CALM、DAILY_SNAPSHOTS_LIMIT_REACHED、FILE_TOO_LARGEなど) がそのまま表れます。 - レスポンスがない場合:
NETWORK_ERROR(原因はcauseに入ります) またはTIMEOUTで、status: 0。コードのないボディは、実際のstatusとメッセージHTTP <status>を持つUNKNOWN_ERRORになります。 - API のエラーに対して
instanceof TypeErrorは true ではなくなりました。 - 期限切れのキーは、不明なキーと同様に 401
ACCESS_DENIEDになります。 ai.chat()のエラーは、認証とレート制限も含めて、小文字の OpenAI コード (access_denied、rate_limit_exceededなど) を持ちます。- 拒否された
start/stop/restartは、コードのみを持つ 409 です:CONTAINER_ALREADY_STARTED、CONTAINER_ALREADY_STOPPED、CONTAINER_TEMPORARILY_SUSPENDED、CONTAINER_NOT_FOUND、CONTAINER_INSUFFICIENT_DISK_SPACE、CONTAINER_NETWORK_CONFLICT、ACTION_FAILED。
動作の変更
- 呼び出しがタイムアウトするようになりました: デフォルトで試行ごとに 30 秒 (v5 にはタイムアウトがありませんでした)、サーバーが接続を保持する呼び出しでは最低 120 秒。無効にするには
timeoutMs: 0を設定します。 files.write()は文字列を内容として扱い、プレーンテキストとして送信します。バイト列は base64 でバイナリセーフに送信され、空の内容は空のファイルを作成します (Python SDK および Go SDK と同じ送信形式)。files.read()は base64 をリクエストしてデコードします。- 存在しないディレクトリに対する
files.list()は、[]を返す代わりに 404FILE_NOT_FOUNDをスローします。 snapshots.create()は、202 の場合にスローする代わりに{ pending: true }を返します。- 文字列の結果が
undefinedになることはありません: API が何も送らない場合、setWebhookとresetCredentials("certificate")は""を返し、deploys.current()は{}を返します。 realtime()は、接続が切れた場合とREALTIME_RECONNECTの場合に再接続します (連続 3 回まで、オープンは 5.5 秒に最大 1 回)。- リトライ: GET でのネットワークエラーと 503
UPLOAD_BUSY/ANALYTICS_BUSY(および GET でのDATABASE_UNAVAILABLE) を、バックオフ付きでリトライします。429 は決してリトライしません。DATABASE_UNAVAILABLEは変更が適用された後に返されることがあるため、冪等な変更は自分でリトライしてください。 - 空、
.、..の ID はローカルでINVALID_IDとして失敗します。 undefined、""、falseのクエリ値は送信されません。
次のステップ
クライアント
SDK をインストールしてクライアントを作成します。
エラー
エラークラス、リトライ、レート制限。

