Mais um passo criado, desta vez com os seguintes itens: Correção bug de processamento Uso do AWS SNS (LocalStack) Notificações no Telegram Vamos ao repositório Sua estrutura agora está assim: . ├── create_services.sh ├── docker-compose.yaml ├── LICENSE ├── Passos.txt ├── README.md ├── services │ ├── api │ │ └── ... (envio de vídeos para processamento) │ ├── notifier │ │ └── ... (notificação via Telegram) │ └── video_processor │ └── ... (processamento de vídeo com OpenCV) └── testes └── vídeos de exemplo Correção do Bug Vamos pelo mais fácil primeiro: ...
Realizando o processamento de vídeo
Lambda com LocalStack não deu bom, pelo menos por aqui 😅 Na versão community ele não permite criar lambdas a partir de um container. Seguindo o que já construí até aqui Agora o repositório possui a seguinte estrutura: . ├── docker-compose.yaml ├── LICENSE ├── README.md └── services ├── api │ ├── aws_utils.py │ ├── Dockerfile │ ├── docs │ │ └── algumas imagens aqui │ ├── example.env │ ├── main.py │ ├── README.md │ ├── requirements.txt │ └── settings.py └── video_processor ├── Dockerfile ├── example.env ├── main.py └── requirements.txt Onde foi adicionado a pasta video_processor ...
[TUTORIAL] Usando Lambda com Localstack
Bom, para prossegui com o projeto, devo realizar o processamento dos vídeos, isso incluíra: Pré-processamento Extração de características Detecção de faixas Rastreamento de faixas Para isso, pensei em usar Lambda para o processamento dos vídeos. O LocalStack possui algumas limitações quanto a isso, por exemplo, não consegui criar uma Lambda com LocalStack usando uma imagem de container. Precisarei fazer com o arquivo zipado. Vou mostrar o passo a passo, com duas formas, uma usando a interface da LocalStack e a outra via AWS-CLI com awslocal. ...
Criando a primeira API para upload de vídeos - S3 e SQS
Vamos começar com uma API com FastAPI para realizar upload de vídeos a um bucket S3 e inserir um item na fila para processamento com o SQS. Primeiramente, tentei realizar com Django, pois conseguiria de forma simples e fácil, um sistema de autenticação e salvar os dados em banco de dados, não consegui, então vamos simplificar e fazer funcionar! O segundo perrengue foi em decidir como executar a API, tentei usar EC2, mas na documentação da LocalStack diz que não está disponível na versão community, então, vamos usar docker para rodar! ...
O Projeto!
Aqui vou explicar o que será feito com AWS (simulada pelo LocalStack) e como vou estruturar esse projeto para aprender de forma prática. Objetivo Aprender de forma prática, enquanto estudo AWS para a certificação. Primeiramente usando LocalStack, e após migrando de fato para a AWS. O projeto baseia-se em um trabalho do meu Mestrado em Ciência da Computação, que implementa o artigo: Vision-Based Robust Lane Detection and Tracking in Challenging Conditions ...
O que é AWS e o que é LocalStack?
Para continuar minha evolução profissional, percebi que entender a AWS era fundamental. Procurando conteúdos sobre o assunto, descobri o LocalStack, uma forma de simular o ambiente AWS localmente. O que é AWS? A Amazon Web Services (AWS) é a maior plataforma de computação em nuvem do mundo. Ela oferece serviços sob demanda como: Armazenamento de arquivos (S3) Execução de funções sem servidor (Lambda) Bancos de dados gerenciados (DynamoDB, RDS) Criação de APIs (API Gateway) Computação (EC2) A AWS oferece 12 meses de uso gratuitos, mas se posso testar localmente antes… por que não? ...