main e execute o goimports (veja Executando os exemplos).
Entradas aceitas
Apps.Create e Apps.Commit aceitam qualquer io.Reader e o transmitem como multipart/form-data, sem nunca carregá-lo na memória:
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 quando o tamanho é conhecido, ou assim que o stream passa de 100 MB, caso contrário. Os uploads não têm prazo padrão: cancele-os com o ctx.
Criando uma aplicação
Apps.Create(ctx, zip) faz o deploy de um .zip que contém um arquivo de configuração squarecloud.app na raiz.
Fazendo commit em uma aplicação
Apps.Commit(ctx, appID, r, path, filename) envia um arquivo para uma aplicação existente:
- Um
.zipé descompactado empath(""para a raiz da aplicação). - Qualquer outro arquivo vai para
path/<filename>.
filename, senão o próprio nome do reader (o nome base de um *os.File), senão commit.zip. Passe "" para usar o padrão.
Apps.Restart para aplicá-lo.
Cancelando um upload
*APIError (NETWORK_ERROR quando o ctx foi cancelado, TIMEOUT quando seu prazo expirou) que faz unwrap para context.Canceled ou context.DeadlineExceeded.
Erros
Abrir o arquivo fica a cargo do seu código, então um erro de
os.Open nunca chega ao SDK. Um reader nil retorna um erro simples, não um *APIError. 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.

