Controlando como os Arquivos São Separados em Registros
Configure a Detecção de registro e outras propriedades nas guias Registros e Elementos do nó para ler arquivos em formatos diferentes.
Os exemplos a seguir são baseados nos exemplos descritos em Usando um arquivo local como entrada para seu fluxo de mensagens e em Lendo um arquivo em um diretório FTP, FTPS ou SFTP remoto Em cada caso, o arquivo de entrada a utilizar, as configurações das propriedades e os resultados esperados são descritos.
Os exemplos, que descrevem usando o nó FileInput , podem ser aplicados no nó FTEInput , com as seguintes provisos:
- O nó FTEInput não possui guia Basic.
- O FTP e o SFTP não são usados para transmitir arquivos para um nó FTEInput .
Os exemplos também podem ser aplicados no nó FileRead , com as seguintes provisos:
- O nó FileRead propaga apenas um registro a partir do arquivo e, por padrão, este registro é o primeiro registro no arquivo. O nó FileRead pode ser configurado para propagar um registro específico. Para obter mais informações, consulte Roteamento ou enriquecimento de uma mensagem com base no conteúdo de um arquivo
- O FTP e o SFTP não são usados para transmitir arquivos para um nó FileRead .
Exemplo 1. Os registros são separados por um final de linha DOS ou UNIX
Este exemplo é idêntico ao descrito em Usando um arquivo local como entrada para seu fluxo de mensagens ou Lendo um arquivo em um diretório remoto de FTP, FTPS ou SFTP Crie um arquivo de entrada chamado
test_input1.xml com o seguinte conteúdo:
<Message>test1</Message>
<Message>testtwo</Message>
<Message>testthree</Message>Cada linha termina com
um terminador de linha.As propriedades a configurar são:
O nó FileInput detecta registros que terminam com um final de linha DOS ou UNIX e cria uma mensagem para cada um que ele localiza.| Guia | Propriedade | Valor |
|---|---|---|
| Registros e Elementos | Detecção de registro | Delimitado |
| Delimitador | Final de linha do DOS ou do UNIX | |
| Tipo de Delimitador | Postfix |
O resultado é a propagação de três mensagens,
da seguinte forma:
- Mensagem 1:
<Message>test1</Message> - Mensagem 2:
<Message>testtwo</Message> - Mensagem 3:
<Message>testthree</Message>
Exemplo 2. Os registros são separados por um delimitador personalizado
Crie um arquivo e entrada chamado
test_input2.xml com o seguinte conteúdo:
<Message>test01</Message>,<Message>test001</Message>,<Message>test0001</Message>Não
deve haver nenhum terminador de linha no final desses dados do arquivo; o analisador
XMLNSC ignora o terminador de linha quando ele está presente.Além das configurações de propriedade descritas em Usando um arquivo local como entrada para seu fluxo de mensagens ou Lendo um arquivo em um diretório FTP, FTPS ou SFTP remoto, configure estas propriedades:
O X'2C' hexadecimal representa uma vírgula em ASCII. Em
outros sistemas, deve-se usar um código hexadecimal diferente.| Guia | Propriedade | Valor |
|---|---|---|
| Básica | Nome ou padrão de arquivo | test_input2.xml |
| Registros e Elementos | Detecção de registro | Delimitado |
| Delimitador | Delimitador customizado | |
| Delimitador customizado | 2C | |
| Tipo de Delimitador | Infix |
O nó FileInput detecta o caractere de vírgula e usa-o para separar registros. Como o valor da propriedade Tipo de Delimitador é Infix, uma vírgula não é necessária no final do arquivo.
O resultado é a propagação de três mensagens,
da seguinte forma:
- Mensagem 1:
<Message>test01</Message> - Mensagem 2:
<Message>test001</Message> - Mensagem 3:
<Message>test0001</Message>
Exemplo 3. Os registros são separados por um número fixo de bytes
Crie um arquivo e entrada chamado
test_input3.xml com o seguinte conteúdo:
<Message>123456789</Message><Message>abcdefghi</Message><Message>rstuvwxyz</Message>Não
deve haver terminador de linha no final desse arquivo.Além das configurações de propriedade descritas em Usando um arquivo local como entrada para seu fluxo de mensagens ou Lendo um arquivo em um diretório FTP, FTPS ou SFTP remoto, configure estas propriedades:
O nó FileInput divide o arquivo de entrada em registros a cada 28 bytes de comprimento.| Guia | Propriedade | Valor |
|---|---|---|
| Básica | Nome ou padrão de arquivo | test_input3.xml |
| Registros e Elementos | Detecção de registro | Comprimento fixo |
| Comprimento | 28 |
O resultado é a propagação de três mensagens,
da seguinte forma:
- Mensagem 1:
<Message>123456789</Message> - Mensagem 2:
<Message>abcdefghi</Message> - Mensagem 3:
<Message>rstuvwxyz</Message>
Exemplo 4. Registros são arquivos inteiros
Crie um arquivo e entrada chamado
test_input4.xml com o seguinte conteúdo:
<Message>Text string of a length decided by you, even including line
terminators, as long as it only contains this tag at the end.</Message>Não
deve haver terminador de linha no final desse arquivo; se houver um, ele não terá efeito.Além das configurações de propriedade descritas em Usando um arquivo local como entrada para seu fluxo de mensagens ou Lendo um arquivo em um diretório FTP, FTPS ou SFTP remoto, configure estas propriedades:
O nó FileInput não divide o arquivo; ele propaga todo o conteúdo do arquivo como um registro único a ser analisado pelo domínio da mensagem, modelo de mensagem e tipo de mensagem conforme especificado no nó. Nesse
exemplo, você está usando o analisador XMLNSC e o conjunto de mensagens
| Guia | Propriedade | Valor |
|---|---|---|
| Básica | Nome ou padrão de arquivo | test_input4.xml |
| Registros e Elementos | Detecção de registro | Arquivo Inteiro |
xml1; portanto, a mensagem é reconhecida.O resultado é a propagação de uma mensagem, da seguinte forma:
- Mensagem 1:
<Message>Text string of a length decided by you, even including line terminators, as long as it only contains this tag at the end.</Message>
Exemplo 5. Os registros são reconhecidos como mensagens separadas pelo analisador especificado na propriedade Domínio da mensagem
Crie um arquivo e entrada chamado
test_input5.xml com o seguinte conteúdo:
<Message>Text string of a length decided by you </Message><Message>and another</Message>
<Message>and another on a new line</Message>Terminadores de linha no final desse arquivo ou no final das linhas são aceitáveis.Além das configurações de propriedade descritas em Usando um arquivo local como entrada para seu fluxo de mensagens ou Lendo um arquivo em um diretório FTP, FTPS ou SFTP remoto, configure estas propriedades:
O nó FileInput defere-se ao analisador para determinar os limites de registro. Nesse
exemplo, o conjunto de mensagens | Guia | Propriedade | Valor |
|---|---|---|
| Básica | Nome ou padrão de arquivo | test_input5.xml |
| Registros e Elementos | Detecção de registro | Sequência de Registro Analisado |
xml1 no domínio XMLNSC deve reconhecer
o formato XML completo de <Message>. XMLNSC absorve o espaço em branco à direita (por exemplo, terminadores de linha).O resultado é a propagação de três mensagens,
da seguinte forma:
- Mensagem 1:
<Message>Text string of a length decided by you </Message> - Mensagem 2:
<Message>and another</Message> - Mensagem 3:
<Message>and another on a new line</Message>