JsonTreeReader¶
Descrição¶
Analisa JSON em objetos de registro individuais. Embora o leitor espere que cada registro seja um JSON bem formado, o conteúdo de um FlowFile pode consistir em vários registros, cada um como uma matriz JSON bem formada ou um objeto JSON com espaço em branco opcional entre eles, como o formato comum “JSON por linha”. 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 JSON, será usado um valor nulo. Se o JSON contiver um campo que não esteja presente no esquema, esse campo será ignorado. Consulte Uso do Controller Service para obter mais informações e exemplos.
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 |
|
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 |
|
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 |
|
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 |
|
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.