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": 1,
"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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file pypigz-0.0.6.tar.gz.
File metadata
- Download URL: pypigz-0.0.6.tar.gz
- Upload date:
- Size: 4.4 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 |
cc56ee4a01f5c31a7345831d43d89c8f5e0a0a090d7d45a8cda2cd8f32536749
|
|
| MD5 |
81017c91c73c7ed6aac62a2d2756e361
|
|
| BLAKE2b-256 |
ed9c80ff2488e8ba012885fba83c6f5dbc1fc0ce359901619951a99e15650222
|
File details
Details for the file pypigz-0.0.6-py3-none-any.whl.
File metadata
- Download URL: pypigz-0.0.6-py3-none-any.whl
- Upload date:
- Size: 5.3 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 |
4231d6a782104f9b446a383fcd8113720c919ef700a87313be0b4c22ebd99e82
|
|
| MD5 |
ef1530f8877be25d187141acc8eea2c5
|
|
| BLAKE2b-256 |
791eaaff68f3eea950d4fc0ffc83b16c28b1199b226f811f75a39e4c04b4ebf4
|