AWS para Desenvolvedores - Dominando S3 com Delphi
Olá,
github: https://github.com/nonilton/AWSDelphiDev.git
Neste post vamos falar de Amazon S3 um serviço de armazenamento de dados na nuvem da AWS altamente escalável e confiável. É amplamente utilizado no mundo inclusive em soluções bem conhecidas como DropBox. Pode ser acessado através do console de gerenciamento, desde que tenha uma conta é claro.
http://console.aws.amazon.com
No S3 alguns conceitos são importantes na hora de utilizar o serviço, por exemplo lá tudo que é armazenado são objetos, não importa o arquivo que você mandar pra lá, ele sempre sera tratado como objeto. Este objeto pode ter tamanho entre 1 byte e 5 Terabytes. Por lá também não existem pastas, apenas buckets, sendo o número de buckets limitados a 100 e sendo ilimitado o numero de objetos que pode ser armazenado.
No Delphi XE 10.2 temos um componente nativo muito interessante que nos permite conectar com os serviços da Amazon de forma muito simplória.
O componente destacado na figura acima é o TAmazonConnectionInfo basta apenas adiciona-lo ao projeto e preencher os parâmetros AccountName e AccountKey (obtidos junto a sua conta na Amazon) para começar a usar-lo.
Primeiro vamos declarar algumas variáveis importantes para o nosso projeto. Veja a figura.
O objeto s3 recebe a instancia de AmazonStorageService e será bastante usada no decorrer deste projeto. Outro objeto bastante útil é o S3Region utilizado para recuperar a região onde o seu serviço esta originalmente hospedado. A ultima variável é sRegion apenas para obter o nome da região.
O primeiro método a ser implementado será o OnCreate do Form onde será instanciado algumas variáveis definidas na figura acima.
Caso queira efetuar um teste, o resultado deve ser semelhante ao da figura abaixo.
No quadro em destaque na figura acima temos o endereço obtido através do método amcAmazon.StorageEndpoint.
Agora vamos implementar o evento do botão Listar Buckets do nosso projeto. Analogamente ao nome do botão é sua função. Este controle tem a finalidade de listar todos os buckets da conta Veja a figura abaixo.
Note que o objeto s3 contém um método com nome bem sugestivo que é o ListBuckets que se encarrega de retornar um lista de objetos que contem os buckets para serem exibidos no Listbox.
Próximo passo vamos listar os arquivos existentes em nosso bucket. A ideia é pegar a lista de arquivos do bucket selecionado. Veja a figura abaixo.
Para o uplod de arquivo, utilize o código conforme a figura abaixo, no evento do botão Upload.
O método Download do arquivo, aplique o código da figura no evento do botão download.
Para excluir arquivos apenas aplique o código da figura abaixo no evento do botão Excluir.
E para finalizar a codificações dos eventos do botão, aplique o código da figura abaixo no evento do botão Criar Bucket.
Conclusão
Os métodos utilizados neste post são nomeados de forma muito sugestivas e estão relacionados com suas respectivas funções. Com um pouco mais de empenho e criatividades é possível fazer aplicações bem legais para seus futuros clientes. Em breve estarei ministrando curso mais detalhado sobre a plataforma S3. Aguardem.
github: https://github.com/nonilton/AWSDelphiDev.git
Fonte. Adriano Santos - TDevRocks.
Comentários
Postar um comentário