Customizando as tarefas do monitor de recursos MFT com substituição de variáveis
Quando as condições acionadoras de um monitor de recurso ativo são satisfeitas, a tarefa definida é chamada. Além de chamar a tarefa de transferência ou de comando sempre com o mesmo agente de destino ou o mesmo nome do arquivo de destino, também é possível modificar a definição da tarefa no tempo de execução. Faça isso inserindo nomes de variáveis no XML de definição de tarefa. Quando o monitor determina que as condições acionadoras são satisfeitas e que a definição de tarefa contém nomes de variáveis, ele substitui os nomes de variáveis pelos valores de variáveis e, em seguida, chama a tarefa.
As variáveis usadas para substituição estão disponíveis somente para condições acionadoras positivas. Apenas as condições acionadoras match e fileSize farão com que as variáveis sejam substituídas. Se uma condição noMatch for usada e houver nomes de variáveis de substituição na definição de tarefa, a tarefa não será chamada e o monitor levantará um código de retorno de 110 e mensagem de erroBFGDM0060E.
Se o Recurso Monitorado é uma Fila
O valor de qualquer propriedade de mensagem IBM® MQ na primeira mensagem a ser lida a partir da fila monitorada pode ser substituída na definição XML de tarefa.
As propriedades de mensagem definidas pelo usuário são prefixadas com usr. mas não inclua este prefixo no nome da variável. Os nomes de variáveis devem ser precedidos por um caractere de símbolo de dólar ($) e colocados entre chaves {}.
Por exemplo, ${destFileName} é substituído pelo valor da propriedade da mensagem usr.destFileName da primeira mensagem a ser lida a partir da fila de origem. Para obter mais informações, consulte Propriedades da mensagemMQ lidas pela MFT a partir de mensagens nas filas de origem e Monitoramento de uma fila e uso de substituição de variáveis.
outputN.log):BFGDM0113W: Trigger failure for <monitor name> for reason BFGDM0060E: A monitor task could
not complete as a variable substitution <variable name> was not present.resmoneventN.log):BFGDM0060E: A monitor task could not complete as a variable substitution
<variable name> was not present.
Consulte Registro de monitores de recursos da MFT para obter mais informações sobre o registro de monitores de recursos.
${AGENTNAME} é substituído pelo nome do agente do monitor de recurso.| Variável | Descrição |
|---|---|
| AGENTNAME | O nome do agente do monitor de recurso. |
| QUEUENAME | O nome da fila que está sendo monitorada. |
| ENCODING | A codificação de caractere da primeira mensagem na fila ou da primeira mensagem em um grupo. |
| MESSAGEID | O ID da mensagem IBM MQ da primeira mensagem na fila ou a primeira mensagem no grupo. |
| GROUPID | O ID do grupo IBM MQ do grupo ou o ID da mensagem se apenas uma única mensagem for encontrada. Essa variável é configurada apenas se você estiver monitorando para grupos completos. |
| CurrentTimeStamp | Um registro de data e hora baseado no horário local no qual o monitor é acionado. O valor de registro de data e hora é exclusivo para o agente. |
| CurrentTimeStampUTC | Um registro de data e hora baseado no horário, no fuso horário UTC, no qual o monitor é acionado. O valor de registro de data e hora é exclusivo para o agente. |
Se o recurso monitorado for um diretório
| Variável | Descrição |
|---|---|
| FilePath | O nome do caminho completo do arquivo do acionador. |
| FileName | A parte de nome do arquivo do acionador. |
| LastModifiedTime | O horário em que o arquivo acionador foi alterado pela última vez. Esse horário é expresso como o horário local do fuso horário no qual o agente está em execução e é formatado como um horário ISO 8601. |
| LastModifiedDate | A data em que o arquivo acionador foi modificado pela última vez. Essa data é expressa como a data local do fuso horário no qual o agente está em execução e é formatada como uma data ISO 8601. |
| LastModifiedTimeUTC | O horário em que o arquivo acionador foi alterado pela última vez. Esse horário é expresso como o horário local convertido para o fuso horário UTC e é formatado como um horário ISO 8601 |
| LastModifiedDateUTC | A data em que o arquivo acionador foi modificado pela última vez. Esta data é expressa como a data local convertida para o fuso horário UTC e é formatada como uma data ISO 8601. |
| AgentName | O nome do agente do monitor de recurso. |
| CurrentTimeStamp | Um registro de data e hora baseado no horário local no qual o monitor é acionado. O valor de registro de data e hora é exclusivo para o agente. |
| CurrentTimeStampUTC | Um registro de data e hora baseado no horário do fuso horário UTC no qual o monitor é acionado. O valor de registro de data e hora é exclusivo para o agente. |
Se o recurso monitorado for um arquivo acionador
| Variável | Descrição |
|---|---|
| contentSource | O nome completo do caminho do arquivo de origem. |
| contentDestination | O nome completo do caminho do arquivo de destino. |
Os nomes de variáveis devem ser precedidos por um caractere cifrão ($) e colocados entre chaves, {}. Por exemplo, ${FilePath} é substituído pelo caminho de arquivo totalmente qualificado do arquivo acionador correspondente.
- token
- O índice de token a ser substituído (começando com 1 da esquerda e começando com -1 da direita)
- separador
- Um único caractere para converter em token o valor da variável. O padrão é o caractere de barra (/) nas plataformas AIX® and Linux® ou caractere de barra inversa (\) em plataformas Windows , mas o separador pode ser qualquer caractere válido que possa aparecer no valor variável.
Se a palavra-chave do separador for especificado em um nome de variável, o valor da variável será dividido em tokens de acordo com o caractere separador.
O valor designado à palavra-chave do token é usado como um índice para selecionar qual token será usado para substituir o nome da variável. O índice de token é relativo ao primeiro caractere na variável e começa em 1. Se a palavra-chave do token não for especificada, a variável inteira será inserida.
Os valores substituídos em um nome do agente no XML da mensagem são tratados sem distinção entre maiúsculas e minúsculas. Todos os nomes Managed File Transfer Agent são maiúsos. Se o valor Paris for substituído em um atributo de agente no XML da mensagem, esse valor será interpretado como uma referência ao agente PARIS.