Skip to main content
Cada fragmento de abajo se ejecuta por sí solo dentro de este programa: pega uno a la vez en main y ejecuta goimports (consulta Ejecutar los ejemplos).

Entradas aceptadas

Apps.Create y Apps.Commit aceptan cualquier io.Reader y lo transmiten como multipart/form-data, sin cargarlo nunca en memoria: Las subidas están limitadas a 100 MB. Un archivo más grande falla localmente con FILE_TOO_LARGE (estado 0): antes de enviar nada cuando se conoce el tamaño, y si no, en cuanto el stream supera los 100 MB. Las subidas no tienen deadline por defecto: cancélalas con ctx.

Crear una aplicación

Apps.Create(ctx, zip) despliega un .zip que contiene un archivo de configuración squarecloud.app en su raíz.

Hacer commit a una aplicación

Apps.Commit(ctx, appID, r, path, filename) sube un archivo a una aplicación existente:
  • Un .zip se descomprime en path ("" para la raíz de la aplicación).
  • Cualquier otro archivo se guarda en path/<filename>.
El nombre del archivo es filename, si no el propio nombre del reader (el nombre base de un *os.File), y si no commit.zip. Pasa "" para usar el valor por defecto.
Un commit no reinicia la aplicación. Llama a Apps.Restart para aplicarlo.

Cancelar una subida

Una subida cancelada devuelve un *APIError (NETWORK_ERROR cuando se canceló ctx, TIMEOUT cuando pasó su deadline) que envuelve context.Canceled o context.DeadlineExceeded.

Errores

Abrir el archivo es responsabilidad de tu código, así que un error de os.Open nunca llega al SDK. Un reader nil devuelve un error simple, no un *APIError. Consulta Errores para ver la lista completa.

Próximos pasos

Gestión de archivos

Lista, lee, escribe, mueve y elimina los archivos de una aplicación.

Referencia de la API de subida

Los endpoints REST detrás de estos métodos.

Subir desde la CLI

Las mismas acciones desde la terminal.