main ein und führe goimports aus (siehe Beispiele ausführen).
Akzeptierte Eingaben
Apps.Create und Apps.Commit nehmen einen beliebigen io.Reader und streamen ihn als multipart/form-data, ohne ihn je in den Speicher zu laden:
Uploads sind auf 100 MB begrenzt. Eine größere Datei schlägt lokal mit
FILE_TOO_LARGE (Status 0) fehl: bevor etwas gesendet wird, wenn die Größe bekannt ist, andernfalls sobald der Stream 100 MB überschreitet. Uploads haben keine Standard-Deadline: Brich sie über ctx ab.
Eine Anwendung erstellen
Apps.Create(ctx, zip) deployt eine .zip, die im Stammverzeichnis eine Konfigurationsdatei squarecloud.app enthält.
Commit in eine Anwendung
Apps.Commit(ctx, appID, r, path, filename) lädt eine Datei in eine bestehende App hoch:
- Eine
.zipwird unterpathentpackt (""für das Stammverzeichnis der App). - Jede andere Datei landet unter
path/<filename>.
filename, sonst der eigene Name des Readers (der Basisname einer *os.File), sonst commit.zip. Übergib "", um den Standard zu verwenden.
Apps.Restart auf, um ihn anzuwenden.
Einen Upload abbrechen
*APIError zurück (NETWORK_ERROR, wenn ctx abgebrochen wurde, TIMEOUT, wenn seine Deadline abgelaufen ist), der sich zu context.Canceled oder context.DeadlineExceeded entpacken lässt.
Fehler
Das Öffnen der Datei ist Sache deines Codes, ein Fehler von
os.Open erreicht das SDK also nie. Ein nil-Reader gibt einen einfachen Fehler zurück, keinen *APIError. Die vollständige Liste findest du unter Fehler.
Nächste Schritte
Dateien verwalten
Dateien einer App auflisten, lesen, schreiben, verschieben und löschen.
API-Referenz für Uploads
Die REST-Endpunkte hinter diesen Methoden.
Upload über die CLI
Dieselben Aktionen im Terminal.

