File Reader

Descubra mais sobre o componente File Reader e saiba como utilizá-lo na Digibee Integration Platform.

O File Reader lê um arquivo local e o converte para uma estrutura JSON que pode ser manipulada dentro do pipeline. O componente suporta a leitura de arquivos textos multi-linha ou arquivos binários.

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 (DB)

Nome do arquivo ou full file path (ex: tmp/processed/file.txt) do arquivo local.

data.csv

String

Charset

Nome do código de caracteres para a leitura do arquivo.

UTF-8

String

Check File Size

Se a opção estiver ativada, o Maximum File Size especificado será verificado.

False

Booleano

Binary File

Se a opção estiver ativada, o arquivo é considerado binário e a leitura consiste em uma string com a representação BASE64 do conteúdo do arquivo; do contrário, o arquivo é lido como texto.

False

Booleano

Maximum File Size

Especifica o tamanho máximo permitido (em bytes); caso o tamanho do arquivo seja superior ao valor informado, então um erro de leitura será lançado.

1048576

Long

Read As A Single String

Se a opção estiver ativada, o arquivo texto será lido como uma única string; do contrário, o arquivo texto será lido como um array de strings em que cada item representa uma linha do arquivo.

False

Booleano

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

Como é feita a leitura de arquivos de texto?

Os arquivos de texto são lidos linha a linha. Uma estrutura é retornada na saída do componente, com todas as linhas que foram lidas:

{

"data" : [

 "linha 1",

 "linha 2",

  ...

],

"fileName": "",

"lineCount": 0

}
  • data: contém um vetor JSON de linhas convertidas.

  • filename: nome do arquivo utilizado como fonte para o componente.

  • lineCount: quantidade de linhas lidas do arquivo.

Caso o parâmetro Read As A Single String esteja ativado, então a estrutura retornada vai conter todas as linhas do arquivo lidas em um único string:

{

"data" : [

 "linha 1\r\nlinha2\r\nlinha n\r\n"

],

"fileName": "",

"lineCount": 1

}

Note que, nesse caso, a leitura das linhas inclui um ou mais caracteres de quebra de linha. Geralmente, se o arquivo for criado em sistemas baseados em Unix, somente a quebra de linha com \n será retornada. Por outro lado, se o arquivo for criado em sistemas baseados em Windows, será retornada a quebra de linha com \r\n.

Lidando com conjunto de caracteres (Charset)

Para a leitura de arquivos de texto, é importante definir o conjunto de caracteres com o mesmo valor utilizado durante a criação do arquivo. Caso um conjunto de caracteres incompatível seja utilizado, o arquivo texto poderá ser lido e interpretado de maneira incorreta. Isso leva a imprecisões em caracteres especiais, assim como letras com acentos e outros.

Como é feita a leitura de arquivos binários?

Arquivos binários não podem ter seu conteúdo expresso de forma natural em propriedades dentro de mensagens JSON, pois muitos dos caracteres binários não são "imprimíveis". Dessa forma, o conteúdo de arquivos binários é transformado em um string base64:

{

"data" : "VGhpcyBpcyBhIHRlc3QuCg==",

"fileName": "",

"lineCount": 0

}

Note que, no caso acima, a propriedade "data" não é apresentada como um array de linhas, mas sim como um único string em base64.

A manipulação de arquivos dentro de um pipeline é feita de forma protegida. Todos os arquivos são acessados apenas em um diretório temporário, que é criado a cada execução do pipeline.

Atualizado