Skip to main content
以下の各スニペットは、このプログラムの中で単独で動作します。1 つずつ main に貼り付けて goimports を実行してください (サンプルの実行を参照)。

受け付ける入力

Apps.Create と Apps.Commit は任意の io.Reader を受け取り、メモリに読み込むことなく multipart/form-data としてストリーミングします: アップロードは 100 MB までに制限されています。それより大きいファイルはローカルで FILE_TOO_LARGE (ステータス 0) として失敗します。サイズがわかっている場合は何も送信する前に、そうでない場合はストリームが 100 MB を超えた時点で失敗します。アップロードにはデフォルトの期限がありません。ctx でキャンセルしてください。

アプリケーションの作成

Apps.Create(ctx, zip) は、ルートに squarecloud.app 設定ファイルを含む .zip を deploy します。

アプリケーションへの commit

Apps.Commit(ctx, appID, r, path, filename) は、既存のアプリにファイルをアップロードします:
  • .zip は path に展開されます (アプリのルートには "")。
  • その他のファイルは path/<filename> に配置されます。
ファイル名は filename、なければリーダー自身の名前 (*os.File のベース名)、それもなければ commit.zip になります。デフォルトを使うには "" を渡します。
commit してもアプリは再起動されません。反映するには Apps.Restart を呼び出してください。

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

キャンセルされたアップロードは *APIError (ctx がキャンセルされた場合は NETWORK_ERROR、期限を過ぎた場合は TIMEOUT) を返し、context.Canceled または context.DeadlineExceeded にアンラップされます。

エラー

ファイルを開くのはあなたのコードの役割なので、os.Open のエラーが SDK に届くことはありません。nil のリーダーは *APIError ではなく通常のエラーを返します。完全な一覧はエラーを参照してください。

次のステップ

ファイルの管理

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

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

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

CLI からアップロード

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