main 中,然后运行 goimports(参见运行示例)。
接受的输入
Apps.Create 和 Apps.Commit 接受任意 io.Reader,并以 multipart/form-data 流式传输,绝不会将其读入内存:
上传限制为 100 MB。更大的文件会在本地以
FILE_TOO_LARGE(状态 0)失败:大小已知时在发送任何内容之前失败,否则在流超过 100 MB 时立即失败。上传没有默认截止时间:请通过 ctx 取消上传。
创建应用
Apps.Create(ctx, zip) 会 deploy 一个根目录包含 squarecloud.app 配置文件的 .zip。
向应用提交 commit
Apps.Commit(ctx, appID, r, path, filename) 将文件上传到现有应用中:
.zip会在path(""表示应用根目录)处被解压。- 其他任何文件会放置在
path/<filename>。
filename,否则取 reader 自身的名称(*os.File 的基本名称),否则为 commit.zip。传入 "" 即使用默认值。
Apps.Restart 以使其生效。
取消上传
*APIError(ctx 被取消时为 NETWORK_ERROR,截止时间已过时为 TIMEOUT),它可以解包为 context.Canceled 或 context.DeadlineExceeded。
错误
打开文件由你的代码负责,因此
os.Open 的错误永远不会到达 SDK。nil reader 会返回普通错误,而不是 *APIError。完整列表请参见错误。
后续步骤
管理文件
列出、读取、写入、移动和删除应用文件。
上传 API 参考
这些方法背后的 REST 端点。
用 CLI 上传
在终端中完成同样的操作。

