For the complete documentation index, see llms.txt. This page is also available as Markdown.

Stream CSV Reader

Saiba mais sobre o conector Stream CSV Reader e como usá-lo na Digibee Integration Platform.

O Stream CSV Reader lê um arquivo CSV local linha por linha em uma estrutura JSON e aciona subfluxos para processar cada linha. Esse recurso é recomendado para cenários em que arquivos grandes precisam ser processados de forma eficiente e em escala.

Parâmetros

Configure o conector usando os parâmetros abaixo. Os campos que suportam expressões Double Braces são marcados na coluna Suporta DB.

Este conector é compatível com o parâmetro Alias, que permite salvar sua saída e referenciá-la posteriormente no fluxo usando expressões Double Braces. Saiba mais.

Parâmetro
Descrição
Tipo
Suporta DB
Padrão

File Name

Nome do arquivo CSV local a ser lido.

String

data.csv

Charset

Codificação de caracteres usada para ler o arquivo.

String

UTF-8

Element Identifier

Em caso de erros, os atributos definidos serão enviados para o subprocesso onException.

String

data

Parallel Execution Of Each Iteration

Se ativado, cada linha é processada em paralelo.

Booleano

False

Ignore Invalid Charset

Se ativado, caracteres com codificação inválida são ignorados.

Booleano

False

Fail On Error

Se ativado, a execução do pipeline é interrompida em caso de erro. Se desativado, a execução continua, mas a propriedade "success" será definida como false.

Booleano

False

Advanced

Ativa parâmetros avançados.

Booleano

False

Delimiter

Define qual delimitador usar.

String

N/A

Skip

O número de linhas a serem puladas antes de começar a ler o arquivo.

Integer

N/A

Limit

Número máximo de linhas a serem lidas do arquivo. Um valor igual a 0 indica que não há limite.

Integer

0

Chunk Size

Number of lines to process in each batch.

Integer

1

Ignore Header

Se ativado, a primeira linha (cabeçalho) do arquivo é ignorada.

Booleano

False

Custom Header (,)

Define uma lista separada por vírgulas de cabeçalhos personalizados a serem usados ​​em vez dos cabeçalhos CSV originais.

Integer

N/A

Filter Headers (,)

Define quais cabeçalhos CSV devem ser lidos, fornecidos como uma lista separada por vírgulas.

Integer

N/A

Parâmetro
Descrição
Valor padrão
Tipo de dado

Documentation

Campo opcional para descrever a configuração do conector e quaisquer regras de negócio relevantes.

N/A

String

Fluxo de mensagens

Entrada

O conector aguarda uma mensagem no seguinte formato:

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 informar que uma linha foi processada corretamente e incrementar o campo "success", o subpipeline onProcess deve retornar { "success": true } ao final de cada execução. Essa é a única forma de o output refletir corretamente o resultado dos processamentos.

Definindo os subpipelines

Para definir os subpipelines a serem executados em cada iteração, clique nos ícones onProcess ou onException no conector Stream CSV Reader. Ao clicar em um desses ícones, o subpipeline correspondente será criado (ou exibido, caso já exista).

Acessando dados dentro do subpipeline onProcess

Os dados disponíveis dentro do subpipeline onProcess dependem da configuração do parâmetro Chunk Size.

Modo linha a linha (Chunk Size = 1)

Quando o Chunk Size é 1 (padrão), cada linha do CSV é convertida em um objeto JSON e enviada individualmente ao subpipeline onProcess. As chaves do objeto correspondem aos cabeçalhos do CSV (ou aos Custom Headers, se configurados).

Dado um arquivo CSV com o seguinte conteúdo:

Cada chamada ao subpipeline onProcess recebe um corpo no seguinte formato:

Você pode acessar qualquer campo da linha diretamente usando expressões Double Braces. Por exemplo, para referenciar a coluna nome:

Se o parâmetro Element Identifier estiver configurado, um campo processedId contendo o índice da linha também é incluído no corpo da mensagem:

Modo lote (Chunk Size > 1)

Quando o Chunk Size é maior que 1, as linhas são agrupadas em lotes antes de serem enviadas ao subpipeline onProcess. O corpo da mensagem recebida contém o lote como um array sob a chave chunk:

Campo
Descrição

chunk

Array de objetos JSON, um por linha do CSV no lote.

chunkSize

Número de linhas no lote atual.

startIndex

Índice da primeira linha do lote no arquivo original.

Tratamento de erros no loop

Quando ocorre um erro durante o processamento de uma linha ou lote, o conector aciona o subpipeline onException, se configurado. O corpo da mensagem enviada depende do modo de processamento:

Erro em modo linha a linha

Campo
Descrição

processedId

Índice da linha que falhou.

error

Mensagem de erro retornada pela exceção.

exception

Nome completo da classe da exceção.

Erro em modo lote

Campo

Descrição

startIndex

Índice da primeira linha do lote que falhou.

chunkSize

Número de linhas no lote que falhou.

error

Mensagem de erro retornada pela exceção.

exception

Nome completo da classe da exceção.

Informações adicionais

  • O conector lança 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 são acessados por meio de um diretório temporário, no qual cada chave de pipeline tem acesso apenas ao seu próprio conjunto de arquivos.

  • Este conector realiza o processamento em lote, o que significa que os dados são processados de forma contínua, controlada e em pequenos lotes.

Atualizado

Isto foi útil?