Skip to main content
Os exemplos usam o client de Criando o cliente. app_id é o id de uma das suas aplicações: client.account.me() lista todas.

Entradas aceitas

apps.create() e apps.commit() aceitam: Os uploads são limitados a 100 MB. Um arquivo maior falha localmente com FILE_TOO_LARGE (status 0) antes que qualquer coisa seja enviada. Os uploads são transmitidos em stream e não têm timeout depois de conectados (veja Timeouts).

Criando uma aplicação

apps.create(file) faz o deploy de um .zip que contém um arquivo de configuração squarecloud.app na raiz. bytes e objetos de arquivo sem nome são enviados como app.zip.

Fazendo commit em uma aplicação

apps.commit(app_id, file, path=None, filename=None) envia um arquivo para uma aplicação existente. path e filename são keyword-only.
  • Um .zip é descompactado em path (a raiz da aplicação por padrão).
  • Qualquer outro arquivo vai para path/<filename>.
O nome do arquivo é filename, senão o próprio nome do arquivo (caminho ou objeto de arquivo), senão commit.zip.
Um commit não reinicia a aplicação. Chame apps.restart() para aplicá-lo.

Cancelando um upload

Uploads em Python não podem ser cancelados depois de enviados: apps.create() e apps.commit() não têm argumento signal nem de cancelamento, e não têm timeout depois de conectados. A conexão em si é limitada por timeout. Para manter o resto do seu programa responsivo durante um upload longo, execute-o com o AsyncSquareCloud (ele roda em uma thread de trabalho) ou em uma thread sua:

Erros

Um caminho local que não pode ser aberto (ou um arquivo que se torna ilegível no meio do upload) lança um OSError, não um SquareCloudAPIError. Um caminho inexistente falha antes que qualquer coisa seja enviada. Veja Erros para a lista completa.

Próximos passos

Gerenciando arquivos

Liste, leia, escreva, mova e exclua arquivos da aplicação.

Referência da API de upload

Os endpoints REST por trás destes métodos.

Upload pela CLI

As mesmas ações pelo terminal.