ExtractText

 

Olá, seja bem-vindo a mais uma aula do curso Desenvolvimento com Apache Nifi.

Nesta aula vamos falar sobre o processor ExtractText**.**

ste Processor avalia uma ou mais expressões regulares em relação ao conteúdo de um FlowFile.

Os resultados dessas expressões regulares são convertidos em atributos de um FlowFile.

Expressões regulares são inseridas adicionando propriedades, o nome da propriedade é mapeado para o nome do atributo no qual o resultado será colocado.

Abaixo temos uma lista com as suas propriedades:

  • Character Set : O conjunto de caracteres no qual o arquivo está codificado
  • Maximum Buffer Size : Especifica a quantidade máxima de dados para buffer (por arquivo) para aplicar as expressões regulares. Arquivos maiores que o máximo especificado não serão totalmente avaliados.
  • Maximum Capture Group Length : Especifica o número máximo de caracteres que um determinado valor de grupo de captura pode ter. Quaisquer caracteres além do máximo serão truncados.
  • Enable Canonical Equivalence : Indica que dois caracteres correspondem apenas quando suas decomposições canônicas completas correspondem.
  • Enable Case-insensitive Matching : Indica que dois caracteres correspondem mesmo que estejam em maiúsculas e minúsculas diferentes. Também pode ser especificado por meio do sinalizador incorporado (?i).
  • Permit Whitespace and Comments in Pattern : Nesse modo, o espaço em branco é ignorado e os comentários incorporados que começam com # são ignorados até o final de uma linha. Também pode ser especificado por meio do sinalizador incorporado (?x).
  • Enable DOTALL Mode : Indica que a expressão '.' deve corresponder a qualquer caractere, incluindo um terminador de linha. Também pode ser especificado através do sinalizador incorporado (?s).
  • Enable Literal Parsing of the Pattern : Indica que Metacaracteres e caracteres de escape não devem receber nenhum significado especial.
  • Enable Multiline Mode : Indica que '^' e '$' devem corresponder logo após e logo antes de um terminador de linha ou final de sequência, em vez de apenas o início ou o final de toda a entrada. Também pode ser especificado através do sinalizador incorporado (?m).
  • Enable Unicode-aware Case Folding : Quando usado com 'Ativar correspondência sem distinção entre maiúsculas e minúsculas', corresponde de maneira consistente com o padrão Unicode. Também pode ser especificado por meio do sinalizador incorporado (?u).
  • Enable Unicode Predefined Character Classes : Especifica a conformidade com o Unicode Technical Standard #18: Unicode Regular Expression Annex C: Compatibility Properties. Também pode ser especificado por meio do sinalizador incorporado (?U).
  • Enable Unix Lines Mode : Indica que apenas o terminador de linha ' ' é reconhecido no comportamento de '.', '^' e '$'. Também pode ser especificado por meio do sinalizador incorporado (?d).
  • Include Capture Group 0: Indica que o Grupo de Captura 0 deve ser incluído como um atributo. O Grupo de captura 0 representa a totalidade da correspondência de expressão regular, normalmente não é usado e pode ter um comprimento considerável.
  • Enable repeating capture group: Se definido como true, todas as strings correspondentes aos grupos de captura serão extraídas. Caso contrário, se a Expressão Regular corresponder mais de uma vez, apenas a primeira correspondência será extraída.

Os relacionamentos permitidos para direcionar ou terminar um flowfile são:

  • unmatched= FlowFiles são roteados para este relacionamento quando nenhuma Expressão Regular fornecida corresponde ao conteúdo do FlowFile
  • matched= FlowFiles são roteados para este relacionamento quando a Expressão Regular é avaliada com sucesso e o FlowFile é modificado como resultado