Skip to main content
示例使用创建客户端中的 client。app_id 是你的某个应用的 ID:client.account.me() 会列出它们。

接受的输入

apps.create() 和 apps.commit() 接受: 上传限制为 100 MB。更大的文件会在发送任何内容之前于本地以 FILE_TOO_LARGE(状态 0)失败。上传采用流式传输,连接建立后没有超时(参见超时)。

创建应用

apps.create(file) 会 deploy 一个根目录包含 squarecloud.app 配置文件的 .zip。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(它在工作线程中运行)或在你自己的线程中执行上传:

错误

无法打开的本地路径(或在上传过程中变得不可读的文件)会抛出 OSError,而不是 SquareCloudAPIError。不存在的路径会在发送任何内容之前失败。完整列表请参见错误。

后续步骤

管理文件

列出、读取、写入、移动和删除应用文件。

上传 API 参考

这些方法背后的 REST 端点。

用 CLI 上传

在终端中完成同样的操作。