No project description provided
Project description
pypigz
Descrição
O pypigz
é um pacote Python para leitura de arquivos Excel contendo dados de produtos e inserção desses dados em um banco de dados MySQL. Ele também inclui uma função para ser executada em uma função AWS Lambda, permitindo a automação do processo de leitura e inserção de dados.
Instalação
Para instalar as dependências do projeto, utilize o Poetry:
poetry install
Configuração
Crie um arquivo .env na raiz do projeto com as seguintes variáveis de ambiente:
DB_HOST=localhost
DB_USER=user
DB_PASS=password
DB_NAME=database
DB_PORT=3306
Utilização
Executando Localmente
Para executar o script localmente, utilize o seguinte comando:
python pypigz/main.py
Executando na AWS Lambda
Crie a função Lambda:
- No console da AWS, vá para o serviço Lambda e crie uma nova função.
- Escolha "Author from scratch" e forneça um nome para a função.
- Escolha um runtime compatível, como Python 3.8 ou superior.
- Crie ou escolha uma role que tenha permissões para acessar o S3 e o banco de dados.
Configure o código da função Lambda:
- No editor de código da função Lambda, adicione o código do arquivo lambda_function.py.
Configure as variáveis de ambiente:
- No console da AWS Lambda, vá para a seção "Configuration" e depois "Environment variables".
- Adicione as variáveis de ambiente necessárias para a conexão com o banco de dados (DB_HOST, DB_USER, DB_PASS, DB_NAME, DB_PORT).
Configure o trigger do S3:
- No console da AWS Lambda, vá para a seção "Configuration" e depois "Triggers".
- Adicione um novo trigger para o S3 e configure-o para acionar a função Lambda quando um novo arquivo for carregado no bucket especificado.
Teste a função Lambda:
- No console da AWS Lambda, vá para a seção "Test" e crie um novo evento de teste com o seguinte formato:
{
"merchantId": 1287,
"s3Bucket": "nome-do-seu-bucket",
"s3Key": "caminho/para/o/arquivo.xlsx"
}
- Execute o teste e verifique se a função Lambda processa o arquivo corretamente e insere os dados no banco de dados.
Estrutura do Projeto
- pypigz/main.py: Função principal para leitura e inserção de dados.
- pypigz/connection.py: Funções para conexão e execução de queries no banco de dados.
- pypigz/product.py: Classe para manipulação de dados de produtos e geração de queries SQL.
- .env: Arquivo de configuração com variáveis de ambiente.
- pyproject.toml: Arquivo de configuração do Poetry.
- poetry.lock: Arquivo de lock do Poetry.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
pypigz-0.0.1.tar.gz
(4.3 kB
view details)
Built Distribution
File details
Details for the file pypigz-0.0.1.tar.gz
.
File metadata
- Download URL: pypigz-0.0.1.tar.gz
- Upload date:
- Size: 4.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.8.3 CPython/3.10.12 Linux/6.8.0-40-generic
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4206871f5487425f16637acec3006f9f459d8d0b8186e8b7a291809890496a44 |
|
MD5 | 15c5e08c0dcb06f7324c8f08f605b196 |
|
BLAKE2b-256 | 3206760e4dbe40a67de46b94474e361e2b8d13b0ed44997b740cccb54e47b0c7 |
File details
Details for the file pypigz-0.0.1-py3-none-any.whl
.
File metadata
- Download URL: pypigz-0.0.1-py3-none-any.whl
- Upload date:
- Size: 5.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.8.3 CPython/3.10.12 Linux/6.8.0-40-generic
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 64e191a97fcfd74e4d7984cdbc2ab7e317146a1b06cdd6b38132c2e614edbba6 |
|
MD5 | 8cd51e53447e5c68189031b6d2962ebf |
|
BLAKE2b-256 | 2459faf0fabca304a49cf5d574f0bfe7171c6b01635d1a90435ee461f9905b4b |