Obter schema de um dataset
Get Dataset Schema
Retorna informações detalhadas do schema de um dataset, incluindo colunas e tipos inferidos.
Endpoint
GET /storage-explorer/datasets/{datasetId}/schema
Permissões Requeridas
STORAGE_EXPLORER.READ
Path Parameters
| Parâmetro | Tipo | Descrição |
|---|---|---|
datasetId | string | ID do dataset |
Query Parameters
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
force_refresh | boolean | Não | Forçar recálculo do schema (padrão: false) |
Exemplo de Requisição
curl -X GET "https://maestro.dadosfera.ai/storage-explorer/datasets/ds_x1y2z3/schema?force_refresh=false" \
-H "Authorization: <JWT_TOKEN>"Exemplo de Resposta
Success (200 OK):
{
"dataset_id": "ds_x1y2z3",
"dataset_name": "orders_2024_01.csv",
"file_format": "csv",
"file_path": "/uploads/2024/01/orders_2024_01.csv",
"schema": {
"columns": [
{
"name": "order_id",
"inferred_type": "VARCHAR",
"nullable": false,
"max_length": 50,
"position": 0,
"sample_values": ["ORD001", "ORD002", "ORD003"]
},
{
"name": "customer_id",
"inferred_type": "VARCHAR",
"nullable": false,
"max_length": 50,
"position": 1,
"sample_values": ["CUST123", "CUST456", "CUST789"]
},
{
"name": "order_date",
"inferred_type": "TIMESTAMP",
"nullable": false,
"position": 2,
"sample_values": ["2024-01-15T10:30:00Z", "2024-01-15T11:45:00Z"]
},
{
"name": "total_amount",
"inferred_type": "DECIMAL",
"nullable": true,
"precision": 10,
"scale": 2,
"position": 3,
"sample_values": [150.50, 230.00, 89.99]
},
{
"name": "status",
"inferred_type": "VARCHAR",
"nullable": false,
"max_length": 20,
"position": 4,
"sample_values": ["completed", "pending", "processing"]
}
],
"row_count": 5420,
"analyzed_rows": 1000,
"schema_confidence": "high"
},
"parsing_options": {
"delimiter": ",",
"header_row": true,
"encoding": "UTF-8",
"quote_char": "\""
},
"last_analyzed": "2024-01-15T11:00:00Z"
}Response Fields
| Campo | Tipo | Descrição |
|---|---|---|
schema.columns | array | Lista de colunas com tipos inferidos |
schema.columns[].inferred_type | string | Tipo de dado inferido |
schema.columns[].nullable | boolean | Se a coluna aceita NULL |
schema.columns[].sample_values | array | Valores de amostra |
schema.row_count | integer | Total de linhas no dataset |
schema.analyzed_rows | integer | Linhas analisadas para inferência |
schema.schema_confidence | string | Confiança da inferência (high, medium, low) |
parsing_options | object | Opções de parsing usadas |
Códigos de Status
| Código | Descrição |
|---|---|
200 | Schema retornado com sucesso |
401 | Não autenticado |
403 | Sem permissão STORAGE_EXPLORER.READ |
404 | Dataset não encontrado |
500 | Erro ao analisar schema |
