Grandes melhorias no nosso SDK para Go
Na Transloadit, somos grandes fãs da linguagem de programação Go. Não só pela simplicidade, mas também pela capacidade de dar vida a sistemas eficientes. Inclusive, um dos nossos componentes principais, responsável por gerenciar os clusters de máquinas na AWS, é escrito em Go. O mesmo vale para o tusd, a implementação de referência do servidor para o tus, nosso protocolo aberto para uploads de arquivos retomáveis. Por isso ficamos tão animados quando lançamos pela primeira vez o SDK oficial da Transloadit para Go (English) lá em 2014.
Porém, com o SDK chegando perto do seu terceiro aniversário, decidimos parar e dar uma repaginada nele. E aqui estamos hoje, com orgulho de compartilhar o resultado com você ao anunciar o lançamento da v1.0 do SDK para Go! A versão 1.0 traz uma interface de API totalmente revisada, documentação completa e suporte ao pacote context do Go. Esse último é útil para definir timeouts de requisições e assim evitar travamentos.
Vamos direto ao código. Vou mostrar um exemplo rápido:
-
Primeiro, confira se você tem o Go 1.7 ou superior instalado. Se não tiver, faça o download. Depois, podemos instalar o pacote simplesmente executando o seguinte comando:
go get -u gopkg.in/transloadit/go-sdk.v1É só isso para instalá-lo. Para concluir as etapas restantes, podemos ir direto para o código.
-
Em seguida, criamos uma nova instância de Client estendendo a configuração padrão com as suas credenciais da API:
options := transloadit.DefaultConfig options.AuthKey = "AUTH_KEY" options.AuthSecret = "AUTH_SECRET" client := transloadit.NewClient(options) -
Depois, criamos a struct da Assembly, adicionamos um arquivo para upload e definimos as instruções de como processá-lo:
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", }) -
Depois de especificar as nossas instruções, é hora de enviá-las para a Transloadit e começar a executar as operações necessárias:
info, err := client.StartAssembly(context.Background(), assembly) -
Por fim, devemos esperar até que a execução termine e os nossos resultados estejam disponíveis:
info, err = client.WaitForAssembly(context.Background(), info) fmt.Printf("You can view the result at: %s\n", info.Results["resize"][0].SSLURL)
E pronto! Você acabou de executar com sucesso a sua primeira Assembly usando o nosso novo SDK para Go! Se quiser saber ainda mais, dê uma olhada nestes recursos adicionais:
- Exemplos: https://github.com/transloadit/go-sdk/tree/master/examples
- Código-fonte: https://github.com/transloadit/go-sdk
- Documentação: https://godoc.org/gopkg.in/transloadit/go-sdk.v1
P.S. No momento, estamos dedicando mais dos nossos esforços para melhorar os nossos SDKs e oferecer a você a melhor experiência possível. Então, fique de olho em novos anúncios como este!
