Como criar um delivery stream no Amazon Kinesis Firehose


Nesta postagem, falaremos como criar um delivery stream no Amazon Kinesis Firehose.

O que é o Amazon Kinesis? 

"Colete, processe e analise facilmente streams de vídeo e dados em tempo real” - Amazon Web Services.  

O Amazon Kinesis é um é um serviço de nuvem da AWS que permite coletar, processar e a analisar em tempo real streaming de dados, muitos dizem que ele é uma alternativa ao Apache Kafka podendo ser facilmente integrado com Apache Nifi, Apache Spark e outros componentes da AWS.

Ele possui alguns componentes, são eles:

  • Kinesis Video Streams: Permite que dispositivos conectados a AWS façam de forma segura streaming de vídeos.
  • Kinesis Data Streams: Permite realizar a ingestão de dados em tempo real de forma continua, podendo a chegar a gigabytes por segundo. Por padrão seus dados são armazenados por 24 horas(podendo chegar até 7 dias), ou seja, você tem um período para consumir esses dados e diferentemente de ferramentas semelhantes o dado não é deletado após consumo, assim, é possível reprocessar os dados, desde que esteja dentro do período de armazenamento
  • Kinesis Data Firehose: Permite realizar quase em tempo real(tem latência mínima de 60 segundos) a carga de streaming de dados em datastores da AWS, como o Redshift, Splunk, ElasticSearch ou S3 por exemplo.
  • Kinesis Data Analytics: Permite realizar analises em streaming de dados utilizando a linguagem SQL ou o próprio Apache Flink.

Passo a Passo

1. O primeiro passo a fazer é o login em sua conta da AWS:

2. Na tela inicial, na opção de localizar serviços, procure por Kinesis:

3. Selecione Kinesis Data Firehose e clique em Criar stream de entrega:

4. Defina um nome para seu fluxo:

5. Em Source, selecione: Direct PUT or other sources, clique em Next:

6. Na segunda etapa, poderemos usar uma função Lambda para realizar transformações nos dados, não faremos isso neste tutorial, clique em Next.

7. Na terceira etapa selecionaremos onde vamos hospedar os dados, em Destination selecione Amazon S3:

8. Caso não tenha um bucket do S3, clique em Create new:

9. Escolha um nome único que deve ter entre 3 e 63 caracteres e pode conter apenas caracteres alfanuméricos (0-9a-z), ponto (.) e hífen (-). Selecione a região e clique em Create S3 bucket:

10. Clique em next ao fim da página.

11. Nesta etapa veremos o buffer, defina um tamanho de buffer de cinco megabytes (isso significa que os dados recebidos serão divididos em arquivos com cinco megabytes de tamanho) e o intervalo do buffer para 300 segundos.

12. Podemos selecionar uma role do IAM ou criar uma nova, clique em next:

13. Revise as informações e clique em Create Delivery stream:

Referências

  • Amazon Kinesis

https://aws.amazon.com/pt/kinesis/