XMLReader

Descrição

Lê o conteúdo do XML e cria objetos de registro. Os registros são esperados no segundo nível de dados XML, incorporados em uma tag raiz anexa.

Tags

parser, reader, record, xml

Propriedades

Na lista abaixo, as propriedades obrigatórias são mostradas com um asterisco (*). Outras propriedades são consideradas opcionais. A tabela também indica os valores padrão e se uma propriedade é compatível com linguagem de expressão NiFi.

Nome de exibição

Nome da API

Valor padrão

Valores permitidos

Descrição

Formato de data

Formato de data

Especifica o formato a ser usado na leitura/gravação de campos de data. Se não for especificado, os campos de data serão assumidos como o número de milissegundos desde a época (meia-noite, 1º de janeiro de 1970 GMT). Se especificado, o valor deve corresponder ao formato Java java.time.format.DateTimeFormatter (por exemplo, MM/dd/yyyyy para um mês de dois dígitos, seguido por um dia de dois dígitos, seguido por um ano de quatro dígitos, todos separados por caracteres “/”, como em 01/01/2017).

Formato de hora

Formato de hora

Especifica o formato a ser usado na leitura/gravação de campos de tempo. Se não for especificado, os campos de tempo serão assumidos como o número de milissegundos desde a época (meia-noite, 1º de janeiro de 1970 GMT). Se especificado, o valor deve corresponder ao formato Java java.time.format.DateTimeFormatter (por exemplo, HH:mm:ss para uma hora de dois dígitos no formato de 24 horas, seguida por um minuto de dois dígitos, seguido por um segundo de dois dígitos, todos separados pelo caractere “:”, como em 18:04:15).

Formato de carimbo de data/hora

Formato de carimbo de data/hora

Especifica o formato a ser usado na leitura/gravação de campos de carimbo de data/hora. Se não for especificado, os campos de carimbo de data/hora serão considerados como o número de milissegundos desde a época (meia-noite, 1º de janeiro de 1970 GMT). Se especificado, o valor deve corresponder ao formato Java java.time.format.DateTimeFormatter (por exemplo, MM/dd/yyyyy HH:mm:ss para um mês de dois dígitos, seguido por um dia de dois dígitos, seguido por um ano de quatro dígitos, todos separados pelo caractere “/”; e depois seguido por uma hora de dois dígitos no formato de 24 horas, seguido por um minuto de dois dígitos, seguido por um segundo de dois dígitos, todos separados pelo caractere “:”, como em 01/01/2017 18:04:15).

Prefixo do atributo

attribute_prefix

Se essa propriedade for definida, o nome dos atributos será precedido de um prefixo quando eles forem adicionados a um registro.

Nome do campo para o conteúdo

content_field_name

Se as tags com conteúdo (por exemplo, <field>content</field>) forem definidas como registros aninhados no esquema, o nome da tag será usado como nome do registro e o valor dessa propriedade será usado como nome do campo. Se as tags com conteúdo forem analisadas juntamente com os atributos (por exemplo, <field attribute=»123»>content</field>), elas deverão ser definidas como registros. Nesse caso, o nome da tag será usado como o nome do registro e o valor dessa propriedade será usado como o nome do campo com o conteúdo original. O nome do atributo será usado para criar um novo campo de registro, cujo conteúdo será o valor do atributo. Para obter mais informações, consulte a seção “Detalhes adicionais…” da documentação do serviço de controlador XMLReader.

Analisar atributos XML

parse_xml_attributes

true

  • true

  • falso

Quando “Schema Access Strategy” (Estratégia de acesso ao esquema) for “Infer Schema” (Inferir esquema) e essa propriedade for “true”, os atributos XML são analisados e adicionados ao registro como novos campos. Quando o esquema for inferido, mas essa propriedade for “false”, os atributos XML e seus valores serão ignorados.

Esperar registros como matriz *

record_format

falso

  • falso

  • true

  • Use o atributo “xml.stream.is.array”

Essa propriedade define se o leitor espera que o FlowFile consista em um único registro ou em uma série de registros com um “elemento wrapper”. Como o XML não oferece uma maneira de ler uma série de documentos XML diretamente de um fluxo, é comum combinar muitos documentos XML concatenando-os e, em seguida, encapsulando todo o blob XML com um “elemento wrapper”. Essa propriedade determina se o leitor espera que o FlowFile consista em um único registro ou em uma série de registros com um “elemento wrapper” que será ignorado.

Estratégia de acesso ao esquema *

schema-access-strategy

infer-schema

  • Usar a propriedade “Schema Name”

  • Use a propriedade “Schema Text”

  • Leitor de referência de esquema

  • Inferir o esquema

Especifica como obter o esquema que deve ser usado para interpretar os dados.

Ramificação do esquema

schema-branch

Especifica o nome da ramificação a ser usada ao procurar o esquema na propriedade do registro de esquema. Se a propriedade do registro de esquema escolhida não for compatível com a ramificação, esse valor será ignorado.

Cache de inferência de esquema

schema-inference-cache

Especifica um cache de esquema a ser usado ao inferir o esquema. Se não for preenchido, o esquema será inferido todas as vezes. No entanto, se um cache for especificado, ele será consultado primeiro e, se o esquema aplicável puder ser encontrado, ele será usado em vez de inferir o esquema.

Nome do esquema

schema-name

${schema.name}

Especifica o nome do esquema a ser pesquisado na propriedade do registro de esquema

Leitor de referência de esquema *

schema-reference-reader

Implementação do serviço responsável pela leitura dos atributos ou do conteúdo do FlowFile para determinar o identificador da referência de esquema

Registro de esquema

schema-registry

Especifica o Controller Service a ser usado para o registro de esquema

Texto do esquema

schema-text

${avro.schema}

O texto de um esquema formatado por Avro

Versão do esquema

schema-version

Especifica a versão do esquema a ser pesquisada no registro de esquema. Se não for especificada, será recuperada a versão mais recente do esquema.

Gerenciamento do estado

Esse componente não armazena o estado.

Restrito

Esse componente não é restrito.

Considerações sobre os recursos do sistema

Esse componente não especifica considerações sobre os recursos do sistema.