Use o nó FileRead para ler um registro, ou o conteúdo inteiro de um arquivo, de dentro de um fluxo de mensagens.
Este tópico contém as seguintes seções:
Você pode usar o nó FileRead para ler um registro, ou o conteúdo inteiro de um arquivo, do meio de um fluxo de mensagens; consulte Roteando ou Enriquecendo uma Mensagem com Base no Conteúdo de um Arquivo. O nó FileRead é semelhante ao nó FileInput, que lê um arquivo do início de um fluxo de mensagens, exceto que é orientado a ler o arquivo por uma mensagem recebida. Em contraste com o nó do FileInput, que propaga cada registro em um arquivo, em vez disso, é possível configurar o nó do FileRead para propagar um arquivo completo ou parte dele.
O nó FileRead está contido no repositório Arquivo da paleta e é representado no WebSphere Message Broker Toolkit pelo seguinte ícone:
Para ativar a função que se torna disponível nos fix packs do WebSphere Message Broker, use o parâmetro -f no comando mqsichangebroker. Para informações adicionais, consulte Comando mqsichangebroker.
Usando qualquer analisador integrado, o nó FileRead pode analisar o conteúdo do arquivo e propagar o conteúdo como uma árvore de mensagens. O nó envia os dados para os analisadores que suportam essa função, de maneira idêntica ao nó FileInput.
As propriedades principais do nó especificam o arquivo e o diretório do qual ler o arquivo. O nome do arquivo é fornecido como um padrão que pode incluir curingas. O padrão de diretório e de arquivo pode ser substituído usando campos no ambiente local.
Os terminais de entrada do nó FileRead são descritos na tabela a seguir.
Terminal | Descrição |
---|---|
In | O terminal de entrada que aceita a mensagem para processamento pelo nó. |
Finish file in | O terminal de entrada que aceita uma solicitação para executar a
ação concluir arquivo, sem ler nenhum dado. Quando uma mensagem for recebida pelo terminal Concluir arquivo em, o nó FileRead inicia o processamento que é especificado pela propriedade Ação. Quando uma mensagem for recebida pelo terminal Concluir arquivo em, nenhum dado será lido antes que a ação seja executada. |
Os terminais de saída do nó FileRead são descritos na tabela a seguir.
Terminal | Descrição |
---|---|
Falha | O terminal de saída para o qual uma mensagem é roteada se uma falha for detectada quando a mensagem for propagada. |
Out | O terminal de saída para o qual uma mensagem será roteada se for recuperada com êxito de um recurso externo. Se não ocorrerem erros no nó de entrada, uma mensagem recebida de um recurso externo será sempre enviada para o terminal Out primeiro. |
Sem correspondência | A mensagem recebida no terminal No match
será propagada para esse terminal se o arquivo não existir no sistema de arquivos ou
existir, mas nenhum registro que corresponde à expressão de filtro puder ser encontrado. Se o terminal não estiver conectado, a mensagem não será usada. |
Finish file out | Uma mensagem que chega no terminal Finish file in é propagada para o terminal Finish file out com o conteúdo inalterado, mas o ambiente local é atualizado com os detalhes da ação que o nó tomou. |
As tabelas a seguir descrevem as propriedades do nó que você pode definir em uma guia especificada. A coluna com título O indica se a propriedade é obrigatória (marcada no kit de ferramentas com um asterisco se precisar inserir um valor quando nenhum padrão está definido). A coluna com cabeçalho C indica se a propriedade é configurável (é possível alterar o valor ao incluir o fluxo de mensagens no arquivo BAR para implementá-lo).
Quando o conteúdo do arquivo tiver sido propagado com êxito para o fluxo, o arquivo será excluído do sistema de arquivos. Nenhum outro nó de arquivo pode acessar o arquivo quando o nó de leitura começa a ler dados dele. Se não existir um arquivo que corresponda ao padrão, a mensagem original será propagada para o terminal 'No match'. Se o terminal não estiver conectado, uma exceção será lançada.
No final do processamento, é possível configurar o nó para não excluir o arquivo. Nesse modo, qualquer outro nó de leitura de arquivo também poderá acessar o arquivo se estiver em execução no mesmo modo somente navegação.
A propriedade Descrição do FileRead é descrita na tabela a seguir.
Propriedade | M | C | Default | Descrição |
---|---|---|---|---|
Nome de nó | Não | Não | FileRead | O nome do nó. |
Descrição Longa | Não | Não | Nenhum(a) | Texto que descreve a finalidade do nó no fluxo de mensagens. |
Descrição Curta | Não | Não | Nenhum(a) | Uma breve descrição do nó. |
As propriedades Básicas do FileRead são descritas na tabela a seguir.
Propriedade | M | C | Default | Descrição | Propriedade do Comando mqsiapplybaroverride |
---|---|---|---|---|---|
Diretório de entrada | Não | SIM | Nenhum(a) | Caminho absoluto do diretório de entrada na forma usada pelo
sistema de arquivos do broker. Por exemplo, no sistema Windows, o caminho do diretório inicia com o prefixo de letra da unidade (como C:). Como alternativa, o caminho pode ser relativo ao diretório raiz de nós do arquivo (que pode ser substituído pela mesma variável de ambiente usada para os nós de entrada e saída de arquivo). |
inputDirectory |
Nome do arquivo ou padrão | Não | SIM | * | Um nome de arquivo, ou uma sequência de caracteres (padrão) que
corresponde a um nome de arquivo. Um padrão contém pelo menos um dos seguintes caracteres
curinga:
Se mais de um arquivo corresponder ao padrão, uma exceção será lançada. Selecione a opção Usar curinga do ambiente se você quiser usar parte do nome do arquivo do nó de entrada nesse campo. |
filenamePattern |
Substituir correspondência de curinga | Não | Não | Falso | Se você selecionar essa opção, o padrão de arquivo não será mais uma expressão regular. Em vez disso, deve conter apenas um *. O * é substituído pelo campo $LocalEnvironment/Wildcard/WildcardMatch. Esse local normalmente é preenchido por um nó anterior, como o nó FileInput. | substituteWildcardMatch |
Ação | SIM | Não | Nenhuma ação necessária. | A ação executada para o arquivo após o fim do arquivo ser atingido,
ou uma mensagem ser recebida pelo terminal Finish file in. Essa
ação ocorre em qualquer um dos casos:
Por padrão, se mover para Archive for selecionado, o arquivo será movido para o subdiretório mqsiarchive, mas esse padrão pode ser substituído com a configuração de uma variável de ambiente local. Quando a substituição de ambiente local para o nome do arquivo archive for configurada e a ação concluir arquivo no nó for configurada como Arquivar com registro de data e hora, o nome do arquivo será timestamp_nameYouSpecified. Em que timestamp é a data e hora em que o arquivo foi arquivado e nameYouSpecified é o nome que você dá ao arquivo. Quando a substituição de ambiente local para o nome de arquivo for configurada e a ação concluir arquivo no nó for configurada como Excluir, o arquivo será excluído. Quando a substituição de ambiente local para o nome de arquivo for configurada e a ação concluir arquivo no nó for configurada como Nenhuma ação, nenhuma ação será aplicada ao arquivo. |
|
Substituir archives duplicados | SIM | Não | Falso | Por padrão, um erro ocorrerá se um arquivo for arquivado e existir um arquivo com o mesmo nome. Configure essa propriedade como true para ignorar o erro e substituir o arquivo archive. |
A propriedade Solicitação do FileRead é descrita na tabela a seguir.
Propriedade | M | C | Default | Descrição | Propriedade do Comando mqsiapplybaroverride |
---|---|---|---|---|---|
Solicitar local da propriedade de diretório | Não | Não | $LocalEnvironment/Destination/File/Directory | O local do elemento de mensagem contendo o nome do diretório de entrada. | |
Solicitar local da propriedade de nome de arquivo | Não | Não | $LocalEnvironment/Destination/File/Name | O local do elemento de mensagem contendo o nome do padrão de arquivo de entrada. | |
Local da propriedade de deslocamento | Não | Não | $LocalEnvironment/Destination/File/Offset | O local do elemento de mensagem que contém o deslocamento do qual iniciar a procura por registros. | |
Local da propriedade de comprimento | Não | Não | $LocalEnvironment/Destination/File/Length | O local do elemento de mensagem que contém o comprimento do registro a ser lido se usando detecção de registro de comprimento fixo. |
The Result properties of the FileRead are described in the following table.
Propriedade | M | C | Default | Descrição | Propriedade do Comando mqsiapplybaroverride |
---|---|---|---|---|---|
Local de dados de resultado | SIM | Não | $ResultRoot | O local na mensagem recuperada do arquivo a ser copiado para o
campo do local de dados de saída na mensagem de saída. Consulte o Combinando uma Mensagem de Resultado com uma Mensagem Recebida. |
|
Local de dados de saída | SIM | Não | $OutputRoot | O local na mensagem de saída para onde o registro lido do arquivo
será copiado. A parte do registro que é copiada no local dos dados de saída é definida no
local dos dados resultantes. Por padrão, o registro inteiro é copiado. Consulte o Combinando uma Mensagem de Resultado com uma Mensagem Recebida. |
|
Copiar ambiente local | Não | Não | Selecionada | Essa propriedade especifica se o ambiente local é copiado para a
mensagem de saída.
|
|
Expressão de seleção de registro | Não | Não | true() | A expressão usada para selecionar o registro correto do arquivo. A
expressão é avaliada para cada registro no arquivo até que seja encontrado um avaliado
como true. Esse registro então é propagado para o terminal Out. A expressão pode ser configurada como qualquer expressão XPath válida que retorne um valor booleano. A expressão não é usada quando Arquivo Inteiro é selecionado como a opção Detecção de Registro. Os seguintes
nomes de correlação estão no escopo para ser usado na expressão:
|
The Input Message Parsing properties of the FileRead are described in the following table.
Propriedade | M | C | Default | Descrição | Propriedade do Comando mqsiapplybaroverride |
---|---|---|---|---|---|
Domínio de Mensagens | Não | Não | O domínio utilizado para analisar a mensagem que chega. | ||
Conjunto de Mensagens | Não | Não | O nome ou identificador do conjunto de mensagens no qual a mensagem que chega está definida. Se você configurar esta propriedade e, em seguida, atualizar as dependências do projeto para remover esta referência do conjunto de mensagens, será emitido um aviso. Atualize a propriedade Conjunto de Mensagens ou restaure a referência para este projeto do conjunto de mensagens. |
||
Tipo de Mensagem | Não | Não | O nome da mensagem que chega. | ||
Formato da Mensagem | Não | Não | O nome do formato físico da mensagem que chega. | ||
ID do conjunto de caracteres codificados de mensagens | Não | SIM | Sistema Intermediário Padrão | O ID do conjunto de caracteres codificados utilizados para interpretar os bytes do arquivo que está sendo lido. | messageCodedCharSetIdProperty |
Codificação de mensagens | Não | SIM | Sistema Intermediário Determinado | O esquema de codificação para números e caracteres grandes utilizado para interpretar bytes do arquivo que está sendo lido. Os valores válidos são Determinado pelo Sistema do Intermediário ou um valor de codificação numérico. Para obter informações adicionais sobre codificação, consulte Conversão de Dados. | messageEncodingProperty |
The Parser Options properties of the FileRead are described in the following table.
Propriedade | M | C | Default | Descrição |
---|---|---|---|---|
Cronometragem de análise (Parse timing) | Não | Não | On Demand | Esta propriedade controla quando uma mensagem de entrada é analisada. Os valores válidos são:
Para obter uma descrição completa desta propriedade, consulte Analisando On Demand. |
Construir árvore utilizando tipos de dados de esquema XML | Não | Não | Não Selecionada | Essa propriedade controla se os elementos de sintaxe na árvore de mensagens têm tipos de dados obtidos do esquema XML. |
Utilizar analisador compacto XMLNSC para domínio XMLNS | Não | Não | Não Selecionada | Essa propriedade controla se o Analisador Compacto XMLNSC (XMLNSC Compact Parser) é utilizado para mensagens no Domínio XMLNS (XMLNS Domain). Se você configurar essa propriedade, os dados da mensagem serão mostrados em XMLNSC nos nós que estão conectados ao terminal de saída quando o cabeçalho MQRFH2 de entrada ou a propriedade Análise de Mensagem de Entrada, o Domínio de Mensagem é XMLNS. |
Reter conteúdo misto | Não | Não | Não Selecionada | Esta propriedade controla se o analisador XMLNSC cria elementos na árvore de mensagens ao encontrar texto misto em uma mensagem de entrada. Se você selecionar a caixa de opções, serão criados elementos para texto misto. Se você desmarcar a caixa de opções, texto misto será ignorado e nenhum elemento será criado. |
Reter comentários | Não | Não | Não Selecionada | Esta propriedade controla se o analisador XMLNSC cria elementos na árvore de mensagens ao encontrar comentários em uma mensagem de entrada. Se você selecionar a caixa de opções, serão criados elementos para comentários. Se você desmarcar a caixa de opções, comentários serão ignorados e nenhum elemento será criado. |
Reter instruções de processamento | Não | Não | Não Selecionada | Esta propriedade controla se o analisador XMLNSC cria elementos na árvore de mensagens ao encontrar instruções de processamento na mensagem de entrada. Se você selecionar a caixa de opções, serão criados elementos para instruções de processamento. Se você desmarcar a caixa de opções, instruções de processamento serão ignoradas e nenhum elemento será criado. |
Elementos opacos | Não | Não | Em branco | Essa propriedade é utilizada para especificar uma lista de elementos na mensagem de entrada que devem ser analisados em segundo plano pelo analisador XMLNSC. A análise de ignorados será desempenhada apenas se a validação não estiver ativada (ou seja, se Validar for Nenhum); as entradas especificadas em Elementos Ignorados serão ignoradas se a validação estiver ativada. |
The Records and Elements properties of the FileRead are described in the following table.
Propriedade | M | C | Default | Descrição |
---|---|---|---|---|
Detecção de registro | SIM | Não | Arquivo Inteiro | O mecanismo utilizado para identificar registros no arquivo de entrada. As opções válidas são:
|
Comprimento | SIM | Não | 80 | O comprimento de cada registro, em bytes, quando a detecção de registroComprimento Fixo está selecionada. |
Delimitador | SIM | Não | Final de linha do DOS ou do UNIX | O tipo de bytes do delimitador que separa ou finaliza cada registro quando a detecção
de registro Delimitado está selecionada. As opções válidas são:
|
Delimitador customizado | Não | SIM | Os bytes do delimitador, expressos em hexadecimal, quando a detecção de registro Delimitado e Delimitador Customizado estão selecionados. Esta propriedade é obrigatória somente se a propriedade Delimitador estiver configurada como Delimitador Customizado. | |
Tipo de delimitador | SIM | Não | Postfix | A posição do delimitador quando a detecção de registro Delimitado
for selecionada. As opções válidas são:
|
As propriedades Validação do nó FileRead são descritas na tabela a seguir. Para uma descrição completa destas propriedades, consulte Propriedades de Validação
Propriedade | M | C | Default | Descrição | Propriedade do Comando mqsiapplybaroverride |
---|---|---|---|---|---|
Validate | Não | SIM | Nenhuma | Essa propriedade controla se a validação ocorre. Os valores válidos são:
|
validateMaster |
Ação de falha | Não | Não | Exceção | Essa propriedade controla o que acontecerá se a validação falhar. Os valores
válidos são:
|