Get Dataset Schema

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âmetroTipoDescrição
datasetIdstringID do dataset

Query Parameters

ParâmetroTipoObrigatórioDescrição
force_refreshbooleanNãoForç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

CampoTipoDescrição
schema.columnsarrayLista de colunas com tipos inferidos
schema.columns[].inferred_typestringTipo de dado inferido
schema.columns[].nullablebooleanSe a coluna aceita NULL
schema.columns[].sample_valuesarrayValores de amostra
schema.row_countintegerTotal de linhas no dataset
schema.analyzed_rowsintegerLinhas analisadas para inferência
schema.schema_confidencestringConfiança da inferência (high, medium, low)
parsing_optionsobjectOpções de parsing usadas

Códigos de Status

CódigoDescrição
200Schema retornado com sucesso
401Não autenticado
403Sem permissão STORAGE_EXPLORER.READ
404Dataset não encontrado
500Erro ao analisar schema