Skip to main content
Gli esempi usano il client di Creare il client. app_id è l’id di una delle tue app: client.account.me() le elenca.

Input accettati

apps.create() e apps.commit() accettano: Gli upload sono limitati a 100 MB. Un file più grande fallisce localmente con FILE_TOO_LARGE (status 0) prima che venga inviato qualsiasi cosa. Gli upload vengono trasmessi in streaming e non hanno timeout una volta connessi (vedi Timeout).

Creare un’applicazione

apps.create(file) effettua il deploy di un .zip che contiene un file di configurazione squarecloud.app nella sua radice. I bytes e i file object senza nome vengono inviati come app.zip.

Fare il commit su un’applicazione

apps.commit(app_id, file, path=None, filename=None) carica un file in un’app esistente. path e filename sono solo keyword.
  • Un .zip viene estratto in path (per impostazione predefinita la radice dell’app).
  • Qualsiasi altro file finisce in path/<filename>.
Il nome del file è filename, altrimenti il nome del file stesso (percorso o file object), altrimenti commit.zip.
Un commit non riavvia l’app. Chiama apps.restart() per applicarlo.

Annullare un upload

In Python gli upload non possono essere annullati una volta inviati: apps.create() e apps.commit() non hanno un argomento signal o di annullamento, e nessun timeout una volta connessi. La connessione in sé è limitata da timeout. Per mantenere reattivo il resto del programma durante un upload lungo, eseguilo con AsyncSquareCloud (gira in un worker thread) o in un tuo thread:

Errori

Un percorso locale che non può essere aperto (o un file che diventa illeggibile durante l’upload) solleva un OSError, non un SquareCloudAPIError. Un percorso inesistente fallisce prima che venga inviato qualsiasi cosa. Vedi Errori per l’elenco completo.

Prossimi passi

Gestire i file

Elenca, leggi, scrivi, sposta ed elimina i file di un’app.

Riferimento API dell'upload

Gli endpoint REST dietro questi metodi.

Upload dalla CLI

Le stesse azioni dal terminale.