Ir para o conteúdo

Tipos de dados

Tipos de cast

O operador rename aceita um terceiro parâmetro opcional para converter o valor para o tipo indicado.

Tipo Descrição Entrada Resultado
string Texto 123, true "123", "true"
number Decimal "3.14", 42 3.14, 42.0
integer Inteiro "42", 3.9 42, 3
boolean Booleano 1, "false" true, false
array Array "a,b,c" ["a","b","c"]

Se o valor for None ou a string "null", todos os tipos retornam null sem erro.

string

Converte o valor para texto com str(). Se o valor for um booleano Python, converte em minúsculas: True"true", False"false".

number

Converte para float com float().

[{"var": "price"}, "precio", "number"]

integer

Converte para int com int(). Trunca decimais sem arredondar.

[{"var": "qty"}, "cantidad", "integer"]

boolean

  • Se o valor for a string "false" (insensível a maiúsculas) → false
  • Qualquer outro valor truthy → true
[{"var": "active"}, "activo", "boolean"]

array

Detecta separadores automaticamente na seguinte ordem de prioridade: ;, ,, ;, ,, ;, ,.

Se nenhum separador for encontrado, envolve o valor em um array: "solo"["solo"].

[{"var": "tags"}, "etiquetas", "array"]

TypeResponse

Toda operação ETL retorna um objeto TypeResponse com a seguinte estrutura:

Campo Tipo Descrição
data dict \| list Dados resultantes da operação
total int Número de registros em data
success bool true se a operação foi bem-sucedida
message str \| int Código de status HTTP (200, 400, etc.)

Resposta bem-sucedida

{
  "data": [
    {"id_pedido": "123", "total": 99.99, "cliente": "Empresa ABC"}
  ],
  "total": 1,
  "success": true,
  "message": 200
}

Resposta com erro de transformação

Quando uma regra falha, success é false, message é 400 e data inclui o detalhe do erro:

{
  "data": {
    "error_message": "Error applying rule: ...",
    "input_data": [{"orderId": "123"}],
    "rules": {"rename": [...]}
  },
  "total": 0,
  "success": false,
  "message": 400
}

Referências