Transformer (JOLT) V2
Descubra mais sobre o componente Transformer (JOLT) V2 e saiba como usá-lo na Digibee Integration Platform.
O Transformer (JOLT) permite a manipulação de um JSON através da tecnologia JOLT.
O componente é úti:
Para modificar a estrutura de um JSON mantendo seus valores.
Para adicionar, extrair e remover dados de um JSON.
Para ordenar a estrutura de um JSON.
Para modificar os valores contidos em um JSON através de funções, como manipular textos, realizar cálculos matemáticos, conversão entre tipos de dados, entre outros.
Para acessar e manipular dados de arrays.
Saiba mais sobre aplicações do JOLT.
Parâmetros
Dê uma olhada nas opções de configuração do componente. Parâmetros suportados por expressões Double Braces estão marcados com (DB)
.
Expression Reference
Se a opção estiver ativada, o parâmetro JOLT Reference espera uma declaração de expressão JOLT através de uma referência Double Braces.
False
Booleano
JOLT
A expressão JOLT expression a ser executada.
N/A
JSON
JOLT Reference (DB)
A referência Double Braces para a expressão JOLT a ser executada. Este parâmetro fica disponível apenas se Expression Reference estiver ativado.
N/A
String
Fail On Error
Se a opção estiver ativada, a execução do pipeline com erro será interrompida. Do contrário, a execução do pipeline continua, mas o resultado vai mostrar um valor falso para a propriedade "success".
False
Booleano
Uso recomendado para Expression Reference
O parâmetro Expression Reference é recomendado apenas para cenários altamente dinâmicos, uma vez que a manter as operações JOLT separadamente do componente Transformer (JOLT) V2 é muito complexo.
Estes cenários requerem alguns cuidados dependendo de como são implenentados, como: gerenciar as operações JOLT por meio do componente Object Store, versionamento de transformações, definição de segregação e execução das transformações JOLT entre pipelines, entre outros.
Além disso, estes cenários também podem aumentar a necessidade de componentes Log no pipeline devido à falta de visibilidade com cenários dinâmicos.
Operações JOLT
Shift
Utilizada para alterar a estrutura de um JSON, mantendo os valores contidos nesse mesmo JSON.
Exemplo:
Entrada
{
"body": {
"userName": "John"
}
}
Transformação
[
{
"operation": "shift",
"spec": {
"body": {
"userName": "dados.nomeUsuario"
}
}
}
]
Saída
{
"dados" : {
"nomeUsuario" : "John"
}
}
Default
Utilizada para adicionar novos campos ou objetos em um JSON, caso esses não existam previamente.
Exemplo:
Entrada
{
"body": {
"userName": "John"
}
}
Transformação
[
{
"operation": "default",
"spec": {
"body": {
"email": "[email protected]"
}
}
}
Saída
{
"body": {
"userName": "John",
"email": "[email protected]"
}
}
Remove
Utilizada para remover campos ou objetos de um JSON.
Exemplo:
Entrada
{
"body": {
"userName": "John",
"email": "[email protected]"
}
}
Transformação
[
{
"operation": "remove",
"spec": {
"body": {
"email": ""
}
}
}
]
Saída
{
"body" : {
"userName" : "John"
}
}
Sort
Utilizada para ordenar campos ou objetos de um JSON em ordem alfabética.
Exemplo:
Entrada
{
"funcionario": {
"telefone": "9 9999-9999",
"nome": "Funcionario Sort",
"dataNascimento": "01/01/1980",
"cargo": "Analista"
}
}
Transformação
[
{
"operation": "sort"
}
]
Saída
{
"funcionario" : {
"cargo" : "Analista",
"dataNascimento" : "01/01/1980",
"nome" : "Funcionario Sort",
"telefone" : "9 9999-9999"
}
}
Cardinality
Utilizada para transformar campos e objetos simples em arrays e vice-versa.
Exemplo:
Entrada
{
"produtos": {
"nome": "Produto A",
"id": "123-A",
"valor": 10
}
}
Transformação
[
{
"operation": "cardinality",
"spec": {
"produtos": "MANY"
}
}
]
Saída
{
"produtos" : [ {
"nome" : "Produto A",
"id" : "123-A",
"valor" : 10
} ]
}
Modify-default-beta
Utilizada para incluir valores e aplicar funções em um JSON.
Exemplo:
Entrada
{
"produto": [
{
"nome": "Produto A",
"preco": 10
},
{
"nome": "Produto B",
"preco": 20
}
]
}
Transformação
[
{
"operation": "modify-default-beta",
"spec": {
"produto": {
"*": {
"fabricante": "Fabricante default"
}
}
}
}
]
Saída
{
"produto" : [ {
"nome" : "Produto A",
"preco" : 10,
"fabricante" : "Fabricante default"
}, {
"nome" : "Produto B",
"preco" : 20,
"fabricante" : "Fabricante default"
} ]
}{
"data": {
"firstName": "John",
"lastName": "Smith"
}
}
Modify-overwrite-beta
Utilizada para sobrescrever valores e aplicar funções em um JSON.
Exemplo:
Entrada
{
"data": {
"firstName": "John",
"lastName": "Smith"
}
}
Transformação
[
{
"operation": "modify-overwrite-beta",
"spec": {
"data": {
"fullName": "=concat(@(1,firstName),' ',@(1,lastName))"
}
}
}
]
Saída
{
"data" : {
"firstName" : "John",
"lastName" : "Smith",
"fullName" : "John Smith"
}
}
Atualizado
Isto foi útil?