File Writer
Descubra mais sobre o componente File Writer e saiba como utilizá-lo na Digibee Integration Platform.
O File Writer escreve informações em um arquivo durante a execução do pipeline. Ele suporta strings simples, arrays de strings e dados binários codificados em base64.
Parâmetros
Configure o conector usando os parâmetros abaixo. Os campos que suportam expressões Double Braces estão marcados na coluna Suporta DB.
File Name
Nome do arquivo ou caminho completo (por exemplo, tmp/processed/file.txt) do arquivo a ser criado pelo conector com as informações de input.
String
✅
data.csv
Data
Dados a serem gravados no arquivo. Aceita um array de strings ou uma string simples. Se o valor for um array, cada item é gravado em uma nova linha. Se o valor for um objeto em vez de uma string, ative o Coalesce para evitar um erro.
String
✅
{{ message.data }}
Policy for when file already exists
Comportamento a aplicar quando um arquivo com o mesmo nome já existe na execução atual. Opções: Append (adiciona dados ao arquivo existente), Override (substitui o arquivo existente), Fail (interrompe o fluxo com um erro).
String
❌
Override
End of Line policy
Caractere de fim de linha a ser usado. Opções: Windows (CR + LF, 2 caracteres), Unix (LF, 1 caractere), None (sem caractere de fim de linha).
String
❌
Windows
Charset
Codificação de caracteres a ser usada ao criar o arquivo.
String
❌
UTF-8
Binary file
Quando ativado, trata o valor em Data como uma string base64 e o converte para binário antes de gravar o arquivo.
Boolean
❌
False
Coalesce
Quando ativado, o conector aceita objetos e arrays como input e os grava no arquivo sem retornar um erro. Quando desativado e o input é um objeto (ou um array contendo objetos), o conector lança o erro "Invalid data from request. Could not save file with this data format".
Boolean
❌
False
Metadata
Um objeto JSON com pares chave-valor personalizados para anexar ao arquivo. Quando configurado, o conector retorna os metadados na resposta do step e, se Write metadata sidecar estiver ativado, os grava em um arquivo sidecar junto ao arquivo criado.
JSON Object ou JSON String
✅
N/A
Write metadata sidecar
Quando ativado e Metadata estiver configurado, o conector grava um arquivo sidecar {fileName}.metadata.json no diretório de trabalho do pipeline, junto ao arquivo criado. Quando desativado, os metadados são retornados apenas na resposta.
Boolean
❌
False
Fail on error
Quando ativado, o pipeline para se ocorrer um erro. Quando desativado, o pipeline continua e o output exibe "success": false.
Boolean
❌
False
Manipulação de arquivos no pipeline
O pipeline possui uma área local e temporária para manipulação de arquivos, isolada e disponível apenas durante a execução do pipeline.
Você deve tratar o acesso a arquivos como se fosse realizado em um sistema de arquivos virtual. Os nomes de arquivos podem usar quaisquer caracteres válidos e extensões de arquivo, e podem incluir um caminho de diretório relativo, por exemplo, data.csv ou processing/data.csv.
Quando Write metadata sidecar está ativado, o conector também cria um arquivo {fileName}.metadata.json no mesmo diretório do arquivo principal. Por exemplo, gravar data.csv com metadados produz tanto data.csv quanto data.csv.metadata.json no diretório de trabalho.
Qualquer tentativa de acessar diretórios absolutos fora do sistema de arquivos virtual do pipeline é bloqueada durante a execução.
Fluxo de mensagens
Input
O conector aceita qualquer mensagem de input e pode referenciá-la por meio de Double Braces.
Output
O conector retorna um objeto JSON com o nome do arquivo criado e o resultado da operação.
Sucesso
Quando Metadata está configurado, a resposta também inclui o objeto de metadados:
Erro
Campos do output:
fileName: Nome do arquivo gravado.success:truese a operação foi bem-sucedida;falsese falhou.metadata: O objeto de metadados anexado ao arquivo. Retornado apenas quando Metadata está configurado.message: Descrição do erro. Retornado apenas quando"success"éfalse.exception: Classe do erro. Retornado apenas quando"success"éfalse.
File Writer em ação
Os exemplos abaixo mostram como o conector se comporta em situações específicas e a configuração correspondente para cada caso.
Gravar uma string em um arquivo de texto
Este exemplo usa dados de input estáticos e lê o resultado com o File Reader.
Configuração do File Writer
File Name:
booklist.txtData:
{{ message.data }}Policy for when file already exists:
AppendEnd of line policy:
WindowsCharset:
UTF-8Binary file: desativado
Coalesce: desativado
Fail on error: desativado
Input
Output
Leitura do arquivo criado
Gravar dados codificados em base64 em um arquivo
Este exemplo usa dados de input base64 estáticos e lê o resultado com o File Reader. Com Binary file ativado, o conector decodifica a string base64 antes de gravar o arquivo.
Configuração
File Name:
booklist.txtData:
{{ message.data }}Policy for when file already exists:
AppendEnd of line policy:
WindowsCharset:
UTF-8Binary file: ativado
Coalesce: desativado
Fail on error: desativado
Input
Output
Leitura do arquivo criado
Gravar um JSON multinível em um arquivo
Este exemplo usa um JSON multinível estático como input e lê o resultado com o File Reader. O Coalesce está ativado para que o conector aceite um objeto como input.
Configuração
File Name:
product.txtData:
{{ message.data }}Policy for when file already exists:
AppendEnd of line policy:
WindowsCharset:
UTF-8Binary file: desativado
Coalesce: ativado
Fail on error: desativado
Input
Output
Leitura do arquivo criado
O output abaixo é proveniente do conector File Reader lendo o arquivo gravado pelo File Writer.
O JSON multinível é serializado e gravado como uma única linha no arquivo.
Falhar quando um arquivo já existe
Este exemplo usa dois conectores File Writer em sequência, ambos configurados com a política Fail. A segunda tentativa de gravação falha porque o arquivo já foi criado pelo primeiro conector.
Configuração
File Name:
booklist.txtData:
{{ message.data }}Policy for when file already exists:
FailEnd of line policy:
WindowsCharset:
UTF-8Binary file: desativado
Coalesce: desativado
Fail on error: desativado
Input
Output
Gravar um arquivo com metadados personalizados
Este exemplo anexa metadados personalizados a um arquivo durante o processamento. O pipeline grava um relatório de pedidos e o etiqueta com informações de rastreabilidade (o pipeline de origem e o ambiente) para que os steps subsequentes e os sistemas de armazenamento possam usar esses valores sem precisar ler o conteúdo do arquivo.
Configuração
File Name:
orders-report.csvData:
{{ message.data }}Policy for when file already exists:
OverrideEnd of line policy:
UnixCharset:
UTF-8Binary file: desativado
Coalesce: desativado
Metadata:
{ "source": "{{ message.pipelineName }}", "environment": "production", "generatedBy": "orders-pipeline" }Write metadata sidecar: ativado
Fail on error: desativado
Input
Output
Como Write metadata sidecar está ativado, o conector também grava orders-report.csv.metadata.json no diretório de trabalho do pipeline com o mesmo conteúdo:
Um conector subsequente no pipeline pode então ler orders-report.csv.metadata.json usando o File Reader e repassar os metadados para um conector de armazenamento, como o AWS S3 Storage, sem precisar codificar esses valores em cada step.
Atualizado
Isto foi útil?