Skip to main content
サンプルでは、クライアントの作成で作成した client を使います。app_id はあなたのアプリの ID で、client.account.me() で一覧できます。

受け付ける入力

apps.create() と apps.commit() は次のものを受け取ります: アップロードは 100 MB に制限されています。それより大きいファイルは、何も送信する前にローカルで FILE_TOO_LARGE (ステータス 0) として失敗します。アップロードはストリーミングされ、接続後はタイムアウトがありません (タイムアウトを参照)。

アプリケーションの作成

apps.create(file) は、ルートに squarecloud.app 設定ファイルを含む .zip を deploy します。bytes と名前のないファイルオブジェクトは app.zip として送信されます。

アプリケーションへの commit

apps.commit(app_id, file, path=None, filename=None) は、既存のアプリにファイルをアップロードします。path と filename はキーワード専用です。
  • .zip は path (デフォルトはアプリのルート) に展開されます。
  • それ以外のファイルは path/<filename> に配置されます。
ファイル名は filename、なければファイル自体の名前 (パスまたはファイルオブジェクト)、それもなければ commit.zip になります。
commit してもアプリは再起動されません。反映するには apps.restart() を呼び出してください。

アップロードのキャンセル

Python のアップロードは、送信後にキャンセルできません。apps.create() と apps.commit() には signal やキャンセル用の引数がなく、接続後のタイムアウトもありません。接続自体は timeout で制限されます。 長時間のアップロード中もプログラムの他の部分が応答できるようにするには、AsyncSquareCloud (ワーカースレッドで実行されます) または独自のスレッドで実行してください:

エラー

開けないローカルパス (またはアップロード中に読み取れなくなったファイル) は、SquareCloudAPIError ではなく OSError を送出します。存在しないパスは、何も送信する前に失敗します。完全な一覧はエラーを参照してください。

次のステップ

ファイルの管理

アプリのファイルを一覧、読み取り、書き込み、移動、削除します。

アップロード API リファレンス

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

CLI からアップロード

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