TrafficPeak Query via API é um projeto em Python que permite obter um token JWT e executar Queries SQL nos endpoints do produto TrafficPeak da Hydrolix, utilizando autenticação Bearer e facilitando a extração de logs via API.
Antes de iniciar, certifique-se de ter o seguinte instalado em seu ambiente:
- Python 3.7 ou superior
pipinstalado
-
Clone o repositório:
git clone https://github.com/rdigaum/trafficpeak-query-api.git cd trafficpeak-query-api -
Instale as dependências do projeto:
pip install -r requeriments.txt
O projeto requer arquivos de configuração para armazenar credenciais e endppwdoints:
-
Crie o arquivo
.secrete adicione suas credenciais:USERNAME=seu-usuario PASSWORD=sua-senha
-
Crie o arquivo
propertiese defina os endpoints da API:TOKEN_ENDPOINT=hostname.trafficpeak/config/v1/login/ QUERY_ENDPOINT=hostname.trafficpeak/query
O script suporta duas opções: obter o token JWT ou executar uma consulta na API.
Para obter um token JWT válido, execute:
python queryRun.py get_tokenPara executar uma consulta SQL na API, utilize:
python queryRun.py run_query --query "SELECT reqTimeSec, reqHost, reqPath, securityRules FROM akamai.logs WHERE reqHost = 'hostname' LIMIT 15 FORMAT JSON"trafficpeak-query-api/
│── queryRun.py # Script principal para autenticação, coleta do token e execução de queries
│── requirements.txt # Dependências do projeto em Python
│── .gitignore # Arquivos ignorados pelo Git (credenciais e logs)
│── .secret # Credenciais - definir o usuário e senha para obter o token
│── properties # Endpoints da API com base nas referência da documentação da TrafficPeak ## Referência de API
│── README.md # Documentação do Projeto
- Certifique-se de não enviar os arquivos
.secretepropertiespara o repositório, pois eles contêm informações sensíveis. - Utilize um ambiente virtual (
venv) para evitar conflitos com pacotes globais do Python:python -m venv venv source venv/bin/activate # No Linux/Mac venv\Scripts\activate # No Windows pip install -r requirements.txt
Sinta-se à vontade para abrir issues e enviar pull requests para melhorias no projeto!
Este projeto é distribuído sob a licença MIT.