YamlTreeReader

Descrição

Analisa YAML em objetos de registro individuais. Embora o leitor espere que cada registro seja YAML bem formado, o conteúdo de um FlowFile pode consistir em muitos registros, cada um como uma matriz YAML ou um objeto YAML bem formado. Se uma matriz for encontrada, cada elemento dessa matriz será tratado como um registro separado. Se o esquema configurado contiver um campo que não esteja presente no YAML, será usado um valor nulo. Se o YAML contiver um campo que não esteja presente no esquema, esse campo será ignorado. Observe que esse serviço de controlador não oferece suporte à resolução do uso de aliases YAML. Qualquer alias presente será tratado como uma cadeia de caracteres. Consulte Uso do Controller Service para obter mais informações e exemplos.

Tags

parser, reader, record, tree, yaml

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

Permitir comentários *

Permitir comentários

falso

  • true

  • falso

Se você deve permitir comentários ao analisar o documento JSON

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).

Comprimento máximo da cadeia de caracteres *

Comprimento máximo da cadeia de caracteres

20 MB

O comprimento máximo permitido de um valor de cadeia de caracteres ao analisar o documento JSON

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).

Estratégia de acesso ao esquema *

schema-access-strategy

infer-schema

  • Inferir o esquema

  • Usar a propriedade “Schema Name”

  • Use a propriedade “Schema Text”

  • Leitor de referência de esquema

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

Estratégia de aplicação de esquema *

schema-application-strategy

SELECTED_PART

  • JSON completo

  • Parte selecionada

Especifica se o esquema é definido para todo o JSON ou para a parte selecionada a partir de “Nome do campo inicial”.

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.

Nome de campo inicial

starting-field-name

Avança para o campo JSON aninhado (matriz ou objeto) fornecido para iniciar o processamento.

Estratégia de campo inicial *

starting-field-strategy

ROOT_NODE

  • Nó raiz

  • Campo aninhado

Inicia o processamento a partir do nó raiz ou de um nó aninhado especificado.

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.