🛠️ AWS SAM-CLI [Lambda, S3, DynamoDB]
- Ivan Luna
- Python , AWS , AWS SAM-CLI , DynamoDB , Backend Development , AWS Deployment , AWS S3 , AWS Lambda
- 01 Nov, 2024
Uma template de solução sem servidor construída utilizando AWS SAM, Lambda, DynamoDB e S3.
Sobre este projeto:
Esta é uma template de solução sem servidor construída utilizando AWS SAM, Lambda, DynamoDB e S3. Este aplicativo é projetado para processar e analisar dados de texto de forma eficiente e escalável.
Pré-requisitos
Para configurar o aplicativo, certifique-se de que você tenha o seguinte instalado e configurado:
- AWS CLI: Interface de Linha de Comando para gerenciar serviços da AWS.
- SAM CLI: Interface de Linha de Comando do AWS Serverless Application Model para construir e implantar aplicações sem servidor.
- Python 3.12: A linguagem de programação utilizada para as funções Lambda.
- Conta AWS: É necessário ter uma conta ativa na AWS para implantar o aplicativo.
Passos de Instalação
Siga estes passos para configurar o aplicativo localmente:
-
Clonar o Repositório
git clone <repository-url> cd <repository-directory>
-
Criar um Ambiente Virtual
python -m venv venv source venv/bin/activate No Windows, use - `venv\Scripts\activate`
-
Instalar Dependências
pip install -r requirements.txt
-
Configurar Variáveis de Entorno Criar um arquivo .env na raiz do seu projeto e definir as variáveis de entorno necessárias.
-
Configurar Credenciais da AWS
aws configure set aws_access_key_id your_access_key aws configure set aws_secret_access_key your_secret_key aws configure set region your_region
Implantação
sam deploy --guided
Este comando irá guiá-lo pelo processo de implantação, solicitando os parâmetros necessários, como nome da pilha, região da AWS e confirmação para criar funções IAM.
Testando
Execute os seguintes comandos para realizar os testes:
- Testes de Integração: Para executar os testes de integração, execute:
pytest -v tests/integration/test_lambda_integration.py
Contribuindo
Contribuições são bem-vindas! Por favor, envie um pull request ou abra uma issue para quaisquer sugestões ou melhorias.