From 2f54783cd5fe520baf76dea778be476c569d6bd4 Mon Sep 17 00:00:00 2001 From: Herbele <msh22@inf.ufpr.br> Date: Tue, 29 Oct 2024 14:31:01 +0000 Subject: [PATCH] Upload New File --- Apache Superset/API_SuperSet.md | 40 +++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 Apache Superset/API_SuperSet.md diff --git a/Apache Superset/API_SuperSet.md b/Apache Superset/API_SuperSet.md new file mode 100644 index 0000000..f7c2f10 --- /dev/null +++ b/Apache Superset/API_SuperSet.md @@ -0,0 +1,40 @@ +# Documentação de Utilização da API do Superset + +Apesar do material oficial da API não estar em plena concordância com seu funcionamento atual, algumas abordagens permitiram entender melhor o uso e a estrutura da API do Superset. + +- **Site Oficial da Documentação da API**: [https://superset.apache.org/docs/api/](https://superset.apache.org/docs/api/) + +## Métodos para Entender o Funcionamento das Requisições + +Para compreender o comportamento da API, foram utilizados métodos experimentais, incluindo: + +1. **Envio de Requisições Incorretas**: Isso ajudou a API a retornar informações sobre parâmetros ausentes ou incorretos, esclarecendo exigências específicas. + +2. **Engenharia Reversa**: Ao replicar o comportamento de requisições observadas, foi possível deduzir os parâmetros e formatos necessários. + +3. **Consulta aos Logs do Servidor**: + - Através do servidor `SuperSetDeppDev1`, com o comando: + ```bash + docker logs superset_app --tail 1000 -f + ``` + - Esse método é especialmente útil em situações em que a API responde com **"Fatal Error"** sem detalhar o problema. + +## Scripts em Python + +Foram desenvolvidos scripts em Python para realizar requisições `GET` e `POST`. Com autenticação adequada, esses scripts permitem interagir corretamente com a API. + +A automação é viável e permite uma flexibilidade considerável ao gerar qualquer estrutura ou configuração desejada. + +### Exemplo de Automação: Geração de Gráficos + +No script `script.py`, a geração de gráficos de cruzamento 1-para-1 é automatizada ao listar os elementos a serem cruzados. Essa abordagem apresenta uma complexidade **O(n²)**. + +```python +# Exemplo de código para automatizar gráficos cruzados +# Lista de elementos a serem cruzados +elementos = ["elemento1", "elemento2", "elemento3"] + +# Lógica de geração 1-para-1 +for i in range(len(elementos)): + for j in range(i + 1, len(elementos)): + gerar_grafico(elementos[i], elementos[j]) -- GitLab