Ao incluir um nó FileInput em um fluxo de mensagens, configure-o para processar mensagens lidas a partir de arquivos.
Quando tiver colocado uma instância do nó
FileInput
em um fluxo de mensagens, você poderá configurá-lo; consulte
Configurando um Nó do Fluxo de Mensagens.
As propriedades do nó são exibidas na visualização Propriedades. Todas as propriedades obrigatórias para
as quais é necessário inserir um valor (as propriedades que não têm um valor-padrão definido)
são marcadas com um asterisco.
- Opcional: Na guia Descrição, insira uma Descrição curta,
uma Descrição longa ou ambas. Você também pode renomear o nó nessa guia.
- Na guia Básico, digite os diretório e o arquivos a serem processados
pelo nó FileInput, junto com o que fazer com qualquer
arquivo duplicado encontrado.
- Em Diretório de Entrada, especifique o diretório
a partir do qual o nó FileInput obtém arquivos.
Especifique o diretório como um caminho de diretório absoluto ou relativo. Se o caminho de diretório for relativo, ele será baseado no diretório especificado na variável de ambiente
MQSI_FILENODES_ROOT_DIRECTORY.
Um exemplo nos sistemas Windows
é C:\fileinput. Um exemplo nos sistemas UNIX é /var/fileinput.
No Windows, se você especificar um diretório compartilhado, mapeado para seu computador local, especifique o nome de compartilhamento em vez da letra que representa a unidade; por exemplo \\myshare\mydirectory.
O nó FileInput
cria um subdiretório mqsitransitin no
diretório de entrada especificado para suspender e bloquear os arquivos de entrada enquanto eles
estão sendo processados. Se um
grupo de execução que processa arquivos neste diretório de entrada for removido,
verifique o subdiretório mqsitransitin para obter arquivos
parcialmente processados ou não processados. Mova esses arquivos
de volta para o diretório de entrada (e remova o prefixo UUID do grupo de execução
dos nomes dos arquivos) para que possam ser processados
por um grupo de execução diferente. Para obter informações adicionais sobre o subdiretório mqsitransitin,
consulte Como Múltiplos Nós de Arquivos Compartilham o Acesso a Arquivos no mesmo Diretório.
- Selecione Incluir subdiretórios locais se
quiser que os arquivos na estrutura de diretório no Diretório de entrada sejam processados.
O broker deve ter acesso ao diretório de nível superior especificado;
se o broker não tiver acesso a um subdiretório específico, esse
subdiretório não será procurado e uma mensagem será gravada para rastreio do usuário.
Os arquivos são processados de acordo com sua idade, ou seja, os mais antigos
são processados primeiro, independentemente de onde aparecerem na estrutura de
diretório. A decisão sobre os arquivos serem processados ou ignorados
é determinada, primeiramente, de acordo com o nome do arquivo ou padrão e, em segundo lugar,
de acordo com o padrão de exclusão do arquivo.
Se você selecionar ambas as propriedades, Incluir subdiretórios locais e Transferência Remota, apenas
os subdiretórios do sistema local serão procurados em relação a arquivos a serem processados.
Considerando o sistema remoto, apenas o diretório de nível superior
especificado é procurado em relação a arquivos a serem processados.
- Em Nome ou Padrão de Arquivo,
especifique um padrão para o nome do arquivo. Esse é um nome de arquivo ou uma sequência de caracteres (um padrão) que corresponde a um nome de arquivo. Um padrão é uma sequência que contém pelo menos um dos seguintes caracteres curinga:
Caractere curinga |
Descrição |
Exemplo |
* |
Qualquer seqüência de zero ou mais caracteres |
*.xml atende a todos os nomes de arquivo
com uma extensão xml |
? |
Qualquer caractere único |
f??????.csv atende a todos os nomes de arquivo que consistem em
uma letra f seguida por seis caracteres e a sequência .csv. |
- Em Padrão de exclusão do arquivo, especifique
um padrão para nomes de arquivos que você deseja excluir do processamento.
Especifique um nome de arquivo ou uma sequência de caracteres (um padrão) que
corresponda a um nome de arquivo. Um padrão é uma sequência que contém pelo menos um
dos caracteres curinga detalhados em Caracteres Curinga. Para que
um arquivo seja excluído do processamento, seu nome deve corresponder ao padrão.
- Selecione Ação no Processamento Bem-sucedido para
especificar a ação que o nó FileInput realiza depois
do processamento bem-sucedido do arquivo. A ação pode ser mover o arquivo para o subdiretório de archive, aumentar o nome do
arquivo com um registro de data e hora e mover o arquivo de origem para o subdiretório de archive ou excluir
o arquivo.
- Se você selecionar Mover para o Subdiretório de Archive,
o arquivo de origem será movido para o subdiretório de archive do diretório de entrada. O nome do subdiretório é mqsiarchive.
Por exemplo, se o diretório de entrada for /var/fileinput, o caminho absoluto do
subdiretório de archive será /var/fileinput/mqsiarchive.
Se esse diretório não existir, o broker cria o mesmo ao tentar mover um arquivo para ele pela primeira vez.
- Se você selecionar Incluir Registro de Data e Hora
e Mover para o Subdiretório de Archive, a data e hora atuais serão incluídos no
nome do arquivo e o arquivo então será movido para mqsiarchive.
- Se você selecionar Excluir, o arquivo será excluído
depois do processamento bem-sucedido.
- O nó FileInput grava uma mensagem no rastreio do usuário, se o rastreio do usuário estiver em operação, sempre que processar um arquivo.
- Selecione Substituir Arquivos Duplicados no Archive se você quiser substituir um arquivo no subdiretório de archive pelo arquivo de mesmo nome processado com sucesso.
Se você não
configurar essa opção, e um arquivo com o mesmo nome já existir no subdiretório de archive, o nó
lançará uma exceção quando ele tentar mover o arquivo processado com sucesso.
- Na guia Análise de Mensagem de Entrada, defina os valores para as propriedades
que o nó utiliza para determinar como analisar a mensagem de entrada.
- Em Domínio de Mensagem, selecione o nome do
analisador que você está utilizando, na lista fornecida. O padrão é BLOB. Você pode escolher a partir das seguintes opções:
- DFDL
- XMLNSC
- DataObject
- JSON
- BLOB
- MIME
- MRM
- JMSMap
- JMSStream
- XMLNS
Também
é possível especificar um analisador definido pelo usuário, se apropriado.
- Se você estiver usando o analisador DFDL,
MRM ou XMLNSC no modo de validação, selecione o modelo de mensagem relevante na lista. Essa lista é preenchida com conjuntos de mensagens disponíveis quando você
seleciona MRM ou XMLNSC como o domínio de mensagem ou com arquivos de esquema DFDL disponíveis ao selecionar DFDL como o domínio de mensagem.
- Se você estiver utilizando o analisador DFDL ou MRM,
selecione a mensagem correta na lista em Mensagem.
Essa lista é preenchida com mensagens definidas no modelo de mensagem que você selecionou.
- Se você estiver utilizando o analisador MRM, selecione o formato da mensagem a partir da
lista em Formato Físico. Essa lista inclui todos os formatos físicos definidos para este modelo de mensagem.
- Especifique o ID do conjunto de caracteres codificado pela mensagem no ID do Conjunto de Caracteres Codificados pela Mensagem.
- Selecione a codificação da mensagem na lista em Codificação da Mensagem ou especifique um valor de codificação numérico. Para obter informações adicionais sobre codificação, consulte Conversão de Dados.
- Na subguia Analisador de Opções, configure as seguintes propriedades.
- Analisar Tempo é, por padrão,
configurado como On Demand, o que
faz com que a análise da mensagem seja atrasadas. Para fazer com que a mensagem
inteira seja analisada imediatamente, configure esta propriedade como
Imediata ou Concluída. Consulte Analisando On Demand
para obter detalhes adicionais.
- Se você está utilizando o analisador XMLNSC, configure os valores para as propriedades que
determinam como o analisador XMLNSC opera. Para obter informações adicionais, consulte Manipulando Mensagens no Domínio XMLNSC.
- Na guia Consulta, insira um valor para o Intervalo de Consulta.
Essa propriedade controla a frequência com que o nó FileInput acessa o sistema de arquivos procurando arquivos
para processar.
Depois da varredura inicial
do diretório quando um fluxo é iniciado, sempre que o diretório não contiver nenhum arquivo que corresponda ao padrão de entrada, o nó FileInput aguardará um período
definido por essa propriedade. Este processo evita a necessidade do nó
FileInput estar continuamente acessando o
sistema de arquivos e consumindo grandes quantidades de recurso do sistema.
Quanto menor o conjunto de valores nesta
propriedade, mais rapidamente o nó FileInput descobre arquivos
que estão no diretório de entrada. Entretanto, um valor menor aumenta o uso dos recursos do sistema. Um valor maior reduz o uso de recursos do sistema, mas à custa de o nó FileInput descobrir arquivos para processar com menor rapidez.
Não utilize essa propriedade como um meio de regular o trabalho ou programar o processamento. Se você
desejar que o nó FileInput monitore o diretório
de entrada apenas para períodos selecionados, inicie e pare o fluxo de mensagens nos horários
apropriados.
Se você
selecionar a propriedade Transferência Remota
e configurar a propriedade Atraso de Varredura
na guia FTP, o valor configurado para o Atraso da Varredura substituirá
o conjunto de valores para o Intervalo de Consulta.
- Use a guia Tentar Novamente para definir como a nova tentativa de processamento
é executada quando um fluxo de mensagens falha.
- O Mecanismo de Nova Tentativa determina a ação
que ocorre se o fluxo falha:
- Selecione Falha para o nó reportar uma
falha sem nenhuma tentativa de repetição.
- Selecione Nova Tentativa Curta para
o nó para tentar novamente antes de relatar uma falha se a condição
persistir. O número de vezes que ele tenta novamente é especificado em Limite de Nova Tentativa.
- Selecione Nova Tentativa Breve e Nova Tentativa Longa para o nó
tentar novamente, primeiro utilizando o valor em Limite de Nova Tentativa como o número de tentativas que o nó deve fazer. Se a condição persistir depois que o valor Limite de Repetições
foi alcançado, o nó utilizará o valor de Intervalo de Repetições
Longas entre as tentativas.
- Especifique um valor para a propriedade Limite
de Repetições. O número de vezes que o nó tenta a transação de fluxo novamente se a propriedade
Mecanismo de Nova Tentativa estiver configurada
como Nova Tentativa Breve ou
Nova Tentativa Breve e Nova Tentativa Longa.
- Especifique um valor para a propriedade Intervalo de Repetições
Curtas. O período de tempo, em segundos, a aguardar entre novas tentativas curtas.
- Especifique um valor para a propriedade Intervalo de Repetições
Longas. O período de tempo para aguardar entre as tentativas de repetição longa até que uma mensagem seja bem-sucedida, o fluxo de mensagens seja interrompido ou implementado novamente. A propriedade do broker MinLongRetryInterval
define o valor mínimo que o Intervalo
de Repetições Longas pode executar. Se o valor for menor do que o mínimo, será utilizado o
valor do broker.
- Especifique um valor para a propriedade Ação
no Arquivo com Falha para determinar o que o nó
deve fazer com o arquivo de entrada depois que todas as tentativas de processar seu conteúdo
falharem:
- Mover para Subdiretório de Restauração.
O arquivo é movido para o subdiretório de restauração do diretório de entrada.
O nome deste subdiretório é mqsibackout.
Se o diretório de entrada
for /var/fileinput, o caminho absoluto do subdiretório
de restauração será /var/fileinput/mqsibackout.
Se esse subdiretório não existir, o broker o criará quando tentar pela primeira vez mover o arquivo para lá. Se o arquivo não puder
ser movido para esse subdiretório, talvez porque um arquivo com o mesmo nome
já exista aqui, o nó inclui a data e hora atuais no nome do arquivo
e faz uma segunda tentativa de mover o arquivo. Se essa segunda
tentativa falhar, o nó irá parar de processar. As mensagens BIP3331 e BIP3325 são
emitidas. Resolva problema com o subdiretório ou arquivo antes de tentar reiniciar o fluxo de mensagens.
- Excluir. O arquivo é excluído após falha do processamento.
- Incluir Registro de Data e Hora e Mover para
Subdiretório de Restauração. A data e a hora atuais são incluídas no nome do arquivo e, em seguida, o arquivo é movido para o subdiretório de restauração.
- Use a guia Registros e Elementos para especificar como cada arquivo será interpretado como registros.
- Utilize a propriedade Detecção de Registro para
determinar como o arquivo é dividido em registros, cada um gerando uma única mensagem. Escolha a partir das seguintes opções:
- Arquivo Inteiro especifica que todo o
arquivo é um único registro. Um limite de 100 MB aplica-se
ao tamanho dos arquivos.
- Comprimento Fixo especifica que cada registro
é um número fixo de bytes em comprimento. Cada registro deve conter o número de bytes especificado na propriedade Comprimento,
exceto possivelmente um registro final menor no arquivo. O valor especificado em Comprimento deve estar no intervalo de 1 byte a 100 MB. O padrão é
80 bytes.
- Selecione Delimitado se os registros
que você está processando forem separados, ou finalizados, por um final de linha do DOS ou
UNIX ou por uma sequência de bytes do delimitador definido pelo usuário. Especifique o delimitador
e tipo de delimitador nas propriedades Delimitador e Tipo de Delimitador. Um limite de 100 MB aplica-se ao comprimento dos registros.
- Selecione Sequência de Registros Analisados se
o arquivo contiver uma sequência de um ou mais registros que foram reconhecidos de forma serializada pelo analisador especificado em Domínio de Mensagem. O nó propaga cada registro reconhecido como uma mensagem separada. Se você selecionar a opção Detecção de Registro, o analisador especificado no Domínio de Mensagem deverá ser DFDL, XMLNSC ou MRM.
- Se você especificar Sequência de Registros Analisados em Detecção de Registro, o nó FileInput não determina nem limita o comprimento de um registro. Os
nós que são recebidos no fluxo de mensagens podem tentar determinar o comprimento do registro ou processar um registro longo. Se você tiver a intenção de processar registros grandes dessa forma, assegure que seu intermediário tenha memória suficiente. Talvez seja necessário aplicar
técnicas do fluxo descritas na amostra Sistema de Mensagens Grande para fazer
melhor uso da memória disponível.
- Se tiver especificado Delimitado em Detecção de Registro, utilize Delimitador para especificar o delimitador a ser utilizado. Escolha dentre os seguintes valores.
- Final da Linha do DOS ou UNIX que,
nos sistemas UNIX, especifica o caractere de
avanço de linha (<LF>, X'0A') e, nos sistemas Windows,
especifica um caractere de retorno de carro seguido por um caractere de avanço de linha (<CR><LF>,
X'0D0A'). O nó trata ambas cadeias como delimitadores, independentemente do sistema no qual o broker está em execução. Se ambas estiverem
no mesmo arquivo, o nó reconhecerá ambas como delimitadores. O nó não reconhece
X'15' que, nos sistemas z/OS, é o byte
'newline'; especifique um valor Delimitador Customizado nessa propriedade e um valor 15 na propriedade Delimitador Customizado se seu arquivo de entrada for codificado utilizando novas linhas EBCDIC de um sistema z/OS.
- Delimitador Customizado, que permite que uma sequência de bytes seja especificada em Delimitador Customizado
- Em Delimitador Customizado, o byte ou os bytes do
delimitador a serem utilizados quando Delimitador Customizado estiver definido na propriedade Delimitador. Especifique esse valor como uma cadeia de dígitos hexadecimal com números pares. O padrão é
X'0A' e o comprimento máximo da cadeia é 16 bytes (representados por 32 dígitos
hexadecimais).
- Se tiver especificado Delimitado em Detecção de Registro, utilize Tipo
de Delimitador para especificar o tipo de delimitador. Os valores permitidos são:
- Infix. Se você selecionar este valor, cada delimitador
separa dois registros. Se o arquivo termina com um delimitador, o conteúdo do
arquivo de comprimento zero seguindo o delimitador final ainda é propagado como uma mensagem
embora ela não contenha nenhum dado.
- Sufixo. Se você especificar este valor, cada delimitador
terminará um registro. Se o arquivo terminar com um delimitador, nenhum registro de saída é propagado depois do delimitador. Se o arquivo não terminar com um delimitador, ele será processado como se um
delimitador seguisse os bytes finais do arquivo. Sufixo é o valor padrão.
- O nó FileInput
considera cada ocorrência do delimitador no arquivo de entrada como se
estivesse separando (Prefixo) ou
terminando (Sufixo) cada registro. Se o arquivo começar com um delimitador,
o nó tratará o conteúdo do arquivo (comprimento zero) precedendo aquele delimitador como um registro
e propagará um registro vazio para o fluxo. O delimitador nunca é incluído na mensagem propagada.
- Utilize a guia Validação para fornecer validação com base no
conjunto de mensagens para mensagens predefinidas. Para obter informações adicionais sobre validação, consulte Validando Mensagens. Para obter mais informações sobre como completar essa guia, consulte Propriedades da Guia Validação.
- Na guia FTP,
selecione a propriedade Transferência Remota
se você desejar que o nó leia arquivos de um servidor FTP ou SFTP usando
as seguintes propriedades:
- Em Protocolo de Transferência,
especifique o protocolo que deve ser usado para transferência de arquivos remota.
Os valores possíveis são FTP e SFTP.
- Em Servidor e Porta Remotos,
forneça o endereço IP e o número da porta do servidor FTP ou SFTP a serem
utilizados. Utilize uma das seguintes sintaxes:
- IP_address_or_URL
- IP_address_or_URL:port_number
Se você especificar o
endereço IP no formato IPv6, assegure de colocá-lo entre colchetes, como no exemplo a seguir:
- [12a::13bd:24cd]
- [12a::13bd:24cd]:123 em que 123 é o número da porta
Se
você estiver utilizando FTP e não especificar um número de porta,
21 será assumido. Se você estiver usando SFTP e não
especificar um número de porta, um número de porta igual a 22 será assumido. Entretanto, se
um serviço configurável FtpServer for definido, você poderá inserir o nome
do serviço configurável neste campo. Para obter
informações sobre como uma definição de serviço configurável FtpServer
e as propriedades nesta guia interagem, consulte Serviço Configurável FtpServer.
- Na Identidade de Segurança, especifique
o nome de uma identidade de segurança que foi definida utilizando o comando mqsisetdbparms.
O
identificador de usuários e a senha que devem ser usados para efetuar logon
no servidor FTP ou SFTP são obtidos desta definição, cujo nome
deve ter o prefixo ftp::. O valor desta propriedade é substituído pelo valor na propriedade
securityIdentity do serviço configurável FtpServer, se ele estiver configurado.
- Em Diretório do Servidor,
especifique o diretório no servidor FTP ou SFTP a partir do qual transferir
arquivos. O padrão é um ponto (.)
que significa o
diretório padrão após o logon. Se você especificar um caminho relativo, o
diretório será baseado no diretório padrão após o logon de FTP ou SFTP. Certifique-se
de que a sintaxe do caminho esteja em conformidade com os padrões de sistema de
arquivos no servidor FTP ou SFTP. O valor nesta
propriedade é substituído pelo valor na propriedade remoteDirectory
do serviço configurável FtpServer, se ele estiver configurado.
Se você selecionar ambas
as propriedades, Transferência Remota e Incluir subdiretórios locais,
apenas os subdiretórios do sistema local serão procurados em relação a arquivos a serem
processados. Considerando o sistema remoto, apenas o diretório de nível superior
especificado é procurado em relação a arquivos a serem processados.
- Em Modo de Transferência, especifique como os arquivos são transferidos. Selecione Binário se o conteúdo do arquivo não tiver sido transformado. Selecione ASCII se o arquivo tiver que ser transmitido como
ASCII. O valor desta propriedade é substituído pelo valor na propriedade transferMode
do serviço configurável FtpServer, se ele estiver configurado.
Esta propriedade é
válida somente quando FTP é selecionado como o protocolo para transferência remota.
Se você especificou SFTP como o
protocolo, a propriedade do modo Modo de Transferência
será ignorada e a codificação Binário será usada.
- Em Atraso de Varredura, especifique o atraso,
em segundos, entre as varreduras de diretório. O padrão é 60
segundos. O conjunto de valores nesta propriedade substitui o conjunto de valores para
o intervalo de sondagem na guia Sondagem quando
a propriedade Transferência Remota
é selecionada. O valor desta propriedade é substituído pelo valor na propriedade scanDelay do serviço
configurável FtpServer, se ele estiver configurado.
- Na guia Transações, configure o modo de transação. Embora todas as operações de arquivo sejam não-transacionais, o modo
de transação neste nó de entrada determina se o restante dos nós no fluxo devem ser
executados sob o ponto de sincronização. Selecione Sim
se desejar que as atualizações de fluxo sejam tratadas de modo transacional, se possível, ou
Não se não desejar. O padrão para esta
propriedade é Não.
- Opcional: Na guia Instâncias, configure valores para as propriedades que controlam as instâncias adicionais (encadeamentos) disponíveis para um nó. Para obter detalhes adicionais, consulte Propriedades Configuráveis do Fluxo de Mensagens.