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
pypigz-0.0.5.tar.gz
(4.4 kB
view details)
Built Distribution
File details
Details for the file pypigz-0.0.5.tar.gz
.
File metadata
- Download URL: pypigz-0.0.5.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 | ae3e64f4612fd61d815d48ba86ac201efff5b290d961f08a0aa32c8a3486f455 |
|
MD5 | ddbcfb48a1ff8015af06951ad346bcb5 |
|
BLAKE2b-256 | d98df4fefb167a2238142c9e16471562c9002df3edf317ec61273f9eeda72466 |
File details
Details for the file pypigz-0.0.5-py3-none-any.whl
.
File metadata
- Download URL: pypigz-0.0.5-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 | 6b4e014147a57e9ef8bb21c73272ae5ebc459b585fcbcfaa58d83c9844be6d23 |
|
MD5 | cbb6274950002bb725e449c0ad0b53fe |
|
BLAKE2b-256 | 6f2e933a4b616fe88cc95bc8529cc954409779e8188da043e2cf42d357fad6ae |