Skip to main content
Chaque extrait ci-dessous s’exécute seul dans ce programme : collez-en un à la fois dans main et lancez goimports (voir Exécuter les exemples).

Entrées acceptées

Apps.Create et Apps.Commit acceptent n’importe quel io.Reader et le diffusent en flux en multipart/form-data, sans jamais le charger en mémoire : Les envois sont limités à 100 Mo. Un fichier plus volumineux échoue localement avec FILE_TOO_LARGE (statut 0) : avant tout envoi lorsque la taille est connue, sinon dès que le flux dépasse 100 Mo. Les envois n’ont aucune échéance par défaut : annulez-les avec ctx.

Créer une application

Apps.Create(ctx, zip) déploie un .zip qui contient un fichier de configuration squarecloud.app à sa racine.

Faire un commit sur une application

Apps.Commit(ctx, appID, r, path, filename) envoie un fichier dans une application existante :
  • Un .zip est décompressé dans path ("" pour la racine de l’application).
  • Tout autre fichier est placé dans path/<filename>.
Le nom du fichier est filename, à défaut le nom propre du reader (le nom de base d’un *os.File), à défaut commit.zip. Passez "" pour utiliser la valeur par défaut.
Un commit ne redémarre pas l’application. Appelez Apps.Restart pour l’appliquer.

Annuler un envoi

Un envoi annulé renvoie une *APIError (NETWORK_ERROR quand ctx a été annulé, TIMEOUT quand son échéance est dépassée) qui encapsule context.Canceled ou context.DeadlineExceeded.

Erreurs

L’ouverture du fichier relève de votre code : une erreur de os.Open n’atteint donc jamais le SDK. Un reader nil renvoie une erreur ordinaire, et non une *APIError. Voir Erreurs pour la liste complète.

Prochaines étapes

Gérer les fichiers

Listez, lisez, écrivez, déplacez et supprimez les fichiers d’une application.

Référence de l'API d'envoi

Les endpoints REST derrière ces méthodes.

Envoyer depuis la CLI

Les mêmes actions depuis le terminal.