Stream JSON File Reader
Descubra mais sobre o componente Stream JSON File Reader e saiba como utilizá-lo na Digibee Integration Platform.
O Stream JSON File Reader lê um arquivo JSON local, aplica uma expressão JSON Path, devolve em um estrutura JSON conforme a expressão definida e dispara subpipelines para processar cada mensagem. O componente deve ser utilizado para arquivos grandes.
Parâmetros
Dê uma olhada nos parâmetros de configuração do componente. Parâmetros suportados por expressões Double Braces estão marcados com (DB)
.
Parâmetro | Descrição | Valor padrão | Tipo de dado |
---|---|---|---|
File Name | Nome do arquivo ou full file path (ex.: tmp/processed/file.json) do arquivo JSON local. | data.json | String |
JSON Path | Expressão JSON Path que irá determinar como será feita a leitura em stream desse arquivo JSON. | $ | String |
Element Identifier | Atributo que será enviado em caso de erros. | data | String |
Parallel Execution Of Each Iteration | Ocorre em paralelo com a execução do loop. | False | Booleano |
Fail On Error | A habilitação desse parâmetro suspende a execução do pipeline apenas quando há uma ocorrência grave na estrutura da iteração, impedindo a sua conclusão por completo. A ativação do parâmetro Fail On Error não tem ligação com erros ocorridos nos componentes utilizados para a construção dos subpipelines (onProcess e onException). | False | Booleano |
Fluxo de mensagens
Entrada
Não se espera nenhuma mensagem de entrada específica e sim apenas a posse de um arquivo JSON no diretório local do pipeline e o preenchimento dos campos File Name e JSON Path para o processamento do arquivo.
Saída
total: número total de linhas processadas.
success: número total de linhas processadas com sucesso.
failed: número total de linhas cujo processamento falhou.
Para saber se uma linha foi processada corretamente, deve haver o retorno { "success": true }
para cada linha processada.
O componente joga uma exceção se o File Name não existir ou não puder ser lido.
A manipulação de arquivos dentro de um pipeline ocorre de forma protegida. Todos os arquivos podem ser acessados apenas por um diretório temporário, no qual cada pipeline key dá acesso ao seu próprio conjunto de arquivos.
O Stream JSON File Reader realiza processamento em lote. Para entender melhor o conceito, leia o artigo sobre Processamento em lote.
Stream JSON File Reader em Ação
Realizando o stream do arquivo sem filtros no JSON Path
Entrada
file.json
File Name: file.json
JSON Path: $.products[*]
Saída
Cada objeto dentro do array "products"
do arquivo informado será processado de forma independente:
Primeiro subfluxo
Segundo subfluxo
Terceiro subfluxo
Quarto subfluxo
Realizando o stream do arquivo com filtros no JSON Path
Entrada
file.json
File Name: file.json
JSON Path: $.products[?(@.price < 80)]
Saída
Cada objeto dentro do array "products"
do arquivo informado será processado de forma independente:
Primeiro subfluxo
Segundo subfluxo
Realizando o stream do arquivo com filtros no JSON Path e retornando somente o valor do atributo 'product'
Entrada
file.json
File Name: file.json
JSON Path: $.products[?(@.price < 80)].product
Saída
Cada objeto dentro do array "products"
do arquivo informado será processado de forma independente:
Primeiro subfluxo
Segundo subfluxo
Atualizado