Améliorations majeures de notre SDK Go
Chez Transloadit, nous sommes de grands fans du langage de programmation Go. Pas seulement pour sa simplicité, mais aussi pour sa capacité à faire tourner des systèmes efficaces. D’ailleurs, l’un de nos composants centraux, chargé de gérer les clusters de machines sur AWS, est écrit en Go. Tout comme tusd, l’implémentation de référence du serveur pour tus, notre protocole ouvert pour le téléversement de fichiers avec reprise. C’est pourquoi nous étions ravis de publier pour la première fois le SDK Go officiel de Transloadit (English) en 2014.
Cependant, à l’approche du troisième anniversaire du SDK, nous avons décidé de prendre le temps de lui offrir un coup de jeune. Et nous voici aujourd’hui, fiers de vous en présenter le résultat en annonçant la sortie de la v1.0 du SDK Go ! La version 1.0 propose une interface d’API entièrement remaniée, une documentation complète et la prise en charge du package context de Go. Ce dernier permet de définir des délais d’expiration pour les requêtes afin d’éviter les blocages.
Passons directement au code, et laissez-moi vous guider à travers un bref exemple :
-
Tout d’abord, assurez-vous que Go 1.7 ou une version supérieure est installé. Sinon, téléchargez-le. Ensuite, nous pouvons installer le package en exécutant simplement la commande suivante :
go get -u gopkg.in/transloadit/go-sdk.v1C’est tout ce qu’il faut faire pour l’installer. Pour effectuer les étapes restantes, nous pouvons passer directement au code.
-
Ensuite, nous créons une nouvelle instance de Client en complétant la configuration par défaut avec vos identifiants d’API :
options := transloadit.DefaultConfig options.AuthKey = "AUTH_KEY" options.AuthSecret = "AUTH_SECRET" client := transloadit.NewClient(options) -
Puis, nous créons la structure Assembly, nous y ajoutons un fichier à téléverser et nous définissons les instructions indiquant comment le traiter :
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", }) -
Une fois nos instructions définies, il est temps de les transmettre à Transloadit et de lancer l’exécution des opérations nécessaires :
info, err := client.StartAssembly(context.Background(), assembly) -
Enfin, nous devons attendre la fin de l’exécution et la mise à disposition de nos résultats :
info, err = client.WaitForAssembly(context.Background(), info) fmt.Printf("You can view the result at: %s\n", info.Results["resize"][0].SSLURL)
Et voilà ! Vous venez d’exécuter avec succès votre première Assembly avec notre nouveau SDK Go ! Si vous souhaitez en savoir plus, consultez ces ressources supplémentaires :
- Exemples : https://github.com/transloadit/go-sdk/tree/master/examples
- Code source : https://github.com/transloadit/go-sdk
- Documentation : https://godoc.org/gopkg.in/transloadit/go-sdk.v1
P.-S. Nous consacrons actuellement davantage d’efforts à l’amélioration de nos SDK afin de vous offrir la meilleure expérience possible. Restez donc à l’écoute pour d’autres annonces comme celle-ci !
