Große Verbesserungen an unserem Go SDK
Bei Transloadit sind wir große Fans der Programmiersprache Go. Nicht nur wegen ihrer Einfachheit, sondern auch wegen ihrer Fähigkeit, effiziente Systeme anzutreiben. Tatsächlich ist eine unserer Kernkomponenten, die für die Verwaltung der Maschinen-Cluster auf AWS zuständig ist, mit Go geschrieben. Das gilt auch für tusd, die Referenz-Serverimplementierung für tus, unser offenes Protokoll für fortsetzbare Datei-Uploads. Deshalb waren wir begeistert, als wir im Jahr 2014 das offizielle Transloadit Go SDK erstmals veröffentlicht haben (English).
Nun, da das SDK aber bald seinen dritten Geburtstag feiert, haben wir uns zusammengesetzt und ihm ein Facelift verpasst. Und heute ist es so weit: Mit Stolz teilen wir das Ergebnis mit Ihnen und kündigen das v1.0-Release des Go SDK an! Version 1.0 bietet eine vollständig überarbeitete API-Schnittstelle, eine umfassende Dokumentation und Unterstützung für Gos context-Paket. Letzteres ist nützlich, um Timeouts für Anfragen zu definieren und so Hänger zu vermeiden.
Springen wir direkt in den Code, und ich führe Sie durch ein kurzes Beispiel:
-
Stellen Sie zunächst sicher, dass Go 1.7 oder höher installiert ist. Falls nicht, laden Sie es bitte herunter. Anschließend können wir das Paket installieren, indem wir einfach den folgenden Befehl ausführen:
go get -u gopkg.in/transloadit/go-sdk.v1Mehr ist für die Installation nicht nötig. Für die restlichen Schritte können wir direkt zum Code übergehen.
-
Als Zweites erstellen wir eine neue Client-Instanz, indem wir die Standardkonfiguration um Ihre API-Zugangsdaten erweitern:
options := transloadit.DefaultConfig options.AuthKey = "AUTH_KEY" options.AuthSecret = "AUTH_SECRET" client := transloadit.NewClient(options) -
Als Nächstes erstellen wir das Assembly-Struct, fügen eine hochzuladende Datei hinzu und definieren die Anweisungen für deren Verarbeitung:
assembly := transloadit.NewAssembly() assembly.AddFile("image", "./path/to/your/file") assembly.AddStep("resize", map[string]interface{}{ "robot": "/image/resize", "width": 75, "height": 75, "resize_strategy": "pad", "background": "#000000", }) -
Nachdem wir unsere Anweisungen festgelegt haben, ist es an der Zeit, sie an Transloadit zu übermitteln und mit der Ausführung der nötigen Vorgänge zu beginnen:
info, err := client.StartAssembly(context.Background(), assembly) -
Zum Schluss sollten wir warten, bis die Ausführung abgeschlossen ist und unsere Ergebnisse verfügbar sind:
info, err = client.WaitForAssembly(context.Background(), info) fmt.Printf("You can view the result at: %s\n", info.Results["resize"][0].SSLURL)
Und das war's! Sie haben soeben Ihre erste Assembly mit unserem neuen Go SDK erfolgreich ausgeführt! Wenn Sie noch mehr erfahren möchten, werfen Sie bitte einen Blick auf diese zusätzlichen Ressourcen:
- Beispiele: https://github.com/transloadit/go-sdk/tree/master/examples
- Quellcode: https://github.com/transloadit/go-sdk
- Dokumentation: https://godoc.org/gopkg.in/transloadit/go-sdk.v1
P.S. Wir investieren derzeit mehr Aufwand in die Verbesserung unserer SDKs, um Ihnen das bestmögliche Erlebnis zu bieten. Bleiben Sie also gespannt auf weitere Ankündigungen wie diese!
