ListFile 2025.5.31.15

Pacote

org.apache.nifi | nifi-standard-nar

Descrição

Recupera uma listagem de arquivos do diretório de entrada. Para cada arquivo listado, crie um FlowFile que represente o arquivo para que ele possa ser buscado em conjunto com FetchFile. Esse processador foi projetado para ser executado somente no nó primário em um cluster quando a opção “Local do diretório de entrada” estiver definida como “Remoto”. Se o nó primário mudar, o novo nó primário continuará de onde o nó anterior parou sem duplicar todos os dados. Quando “Local do diretório de entrada” é “Local”, o modo “Execução” pode ser qualquer um, e a sincronização não ocorrerá. Ao contrário do GetFile, esse processador não exclui nenhum dado do sistema de arquivos local.

Tags

file, filesystem, get, ingest, list, source

Requisito de entrada

FORBIDDEN

Oferece suporte a propriedades dinâmicas confidenciais

falso

Propriedades

Propriedade

Descrição

Filtro de arquivos

Somente os arquivos cujos nomes correspondem à expressão regular fornecida serão coletados

Ignorar arquivos ocultos

Indica se os arquivos ocultos devem ou não ser ignorados

Incluir atributos de arquivo

Inclui ou não informações como a hora da última modificação e o proprietário do arquivo como atributos do FlowFile. Dependendo do sistema de arquivos que está sendo usado, a coleta dessas informações pode ser cara e, portanto, deve ser desativada. Isso é especialmente verdadeiro para compartilhamentos de arquivos remotos.

Diretório de entrada

O diretório de entrada do qual os arquivos devem ser extraídos

Local do diretório de entrada

Especifica onde está localizado o diretório de entrada. Isso é usado para determinar se o estado deve ser armazenado localmente ou em todo o cluster.

Idade máxima do arquivo

A idade máxima que um arquivo deve ter para ser extraído; qualquer arquivo mais antigo que esse período de tempo (de acordo com a data da última modificação) será ignorado

Tamanho máximo do arquivo

O tamanho máximo que um arquivo pode ter para ser extraído

Idade mínima do arquivo

A idade mínima que um arquivo deve ter para ser extraído; qualquer arquivo mais novo do que esse período de tempo (de acordo com a data da última modificação) será ignorado

Tamanho mínimo do arquivo

O tamanho mínimo que um arquivo deve ter para ser extraído

Filtro de caminho

Quando Recurse Subdirectories (Percorrer subdiretórios) for verdadeiro, somente os subdiretórios cujo caminho corresponda à expressão regular fornecida serão verificados

Percorrer subdiretórios

Indica se os arquivos de subdiretórios do diretório devem ser listados

et-initial-listing-target

Especifique como a listagem inicial deve ser tratada. Usado pela estratégia “Rastreamento de entidades”.

et-node-identifier

O valor configurado será anexado à chave do cache para que o estado da listagem possa ser rastreado por nó NiFi em vez de ser rastreado em todo o cluster quando o estado de rastreamento tiver o escopo LOCAL. Usado pela estratégia “Rastreamento de entidades”.

et-state-cache

As entidades listadas são armazenadas no armazenamento em cache especificado, de modo que esse processador possa retomar a listagem por meio da reinicialização do NiFi ou em caso de alteração do nó primário. A estratégia “Rastreamento de entidades” exige informações de rastreamento de todas as entidades listadas na última “Janela de tempo de rastreamento”. Para oferecer suporte a um grande número de entidades, a estratégia usa DistributedMapCache em vez de estado gerenciado. O formato da chave de cache é “ListedEntities::{processorId}(::{nodeId})”. Se ele rastrear entidades listadas por nó, a parte opcional “::{nodeId}” será adicionada para gerenciar o estado separadamente. Por exemplo, a chave de cache de todo o cluster = “ListedEntities::8dda2321-0164-1000-50fa-3042fe7d6a7b”, per node cache key = “ListedEntities::8dda2321-0164-1000-50fa-3042fe7d6a7b::nifi-node3”. O conteúdo do cache armazenado é a cadeia de caracteres JSON compactada em Gzip. A chave de cache será excluída quando a configuração da listagem de destino for alterada. Usado pela estratégia “Rastreamento de entidades”.

et-time-window

Especifique por quanto tempo esse processador deve rastrear as entidades já listadas. A estratégia “Rastreamento de entidades” pode selecionar qualquer entidade cujo carimbo de data/hora esteja dentro da janela de tempo especificada. Por exemplo, se for definido como “30 minutes”, qualquer entidade com carimbo de data/hora nos últimos 30 minutos será o destino da listagem quando esse processador for executado. Uma entidade listada é considerada “nova/atualizada” e um FlowFile é emitido se uma das seguintes condições for atendida: 1. não existir nas entidades já listadas, 2. tiver um carimbo de data/hora mais recente do que a entidade em cache, e 3. tiver um tamanho diferente da entidade em cache. Se o carimbo de data/hora de uma entidade em cache for mais antigo do que a janela de tempo especificada, essa entidade será removida das entidades já listadas em cache. Usado pela estratégia “Rastreamento de entidades”.

listing-strategy

Especifica como determinar entidades novas/atualizadas. Veja as descrições de cada estratégia para obter detalhes.

max-listing-time

O tempo máximo que se espera que a listagem de um único diretório leve. Se a listagem do diretório especificado pela propriedade “Diretório de entrada” ou a listagem de qualquer subdiretório (se “Percorrer” estiver definido como verdadeiro) demorar mais do que esse tempo, será gerado um boletim de aviso para cada listagem de diretório que exceder esse tempo.

max-operation-time

O tempo máximo que se espera que uma única operação de disco leve. Se alguma operação de disco demorar mais do que esse tempo, será gerado um boletim de aviso para cada operação que exceder esse tempo.

max-performance-metrics

Se a propriedade “Rastrear desempenho” for definida como “verdadeira”, essa propriedade indicará o número máximo de arquivos cujos indicadores de desempenho devem ser mantidos. Um valor menor para essa propriedade resultará em menor utilização do heap, enquanto um valor maior poderá fornecer informações mais precisas sobre o desempenho das operações de acesso ao disco

record-writer

Especifica o Record Writer a ser usado para criar a listagem. Se não for especificado, será criado um FlowFile para cada entidade listada. Se o Record Writer for especificado, todas as entidades serão gravadas em um único FlowFile em vez de adicionar Rastreamento de entidades atributos aos FlowFiles.

target-system-timestamp-precision

Especifique a precisão do carimbo de data/hora no sistema de destino. Como esse processador usa o carimbo de data/hora das entidades para decidir quais devem ser listadas, é fundamental usar a precisão correta do carimbo de data/hora.

track-performance

Se o processador deve ou não monitorar o desempenho das operações de acesso ao disco. Se verdadeiro, todos os acessos ao disco serão registrados, incluindo o arquivo acessado, as informações obtidas e o tempo necessário. Isso é então registrado periodicamente em um nível DEBUG. Embora a quantidade de dados seja limitada, essa opção ainda pode consumir uma quantidade significativa de heap (controlada pela propriedade “Número máximo de arquivos a serem acompanhados”), mas pode ser muito útil para fins de solução de problemas se o desempenho estiver ruim ou degradado.

Gerenciamento do estado

Escopos

Descrição

CLUSTER

Depois de fazer uma listagem de arquivos, o carimbo de data/hora do arquivo mais recente é armazenado. Isso permite que o processador liste apenas os arquivos que foram adicionados ou modificados após essa data na próxima vez em que o processador for executado. O fato de o estado ser armazenado com um escopo Local ou de Cluster depende do valor da propriedade <Local do diretório de entrada>.

LOCAL

Depois de fazer uma listagem de arquivos, o carimbo de data/hora do arquivo mais recente é armazenado. Isso permite que o processador liste apenas os arquivos que foram adicionados ou modificados após essa data na próxima vez em que o processador for executado. O fato de o estado ser armazenado com um escopo Local ou de Cluster depende do valor da propriedade <Local do diretório de entrada>.

Relações

Nome

Descrição

success

Todos os FlowFiles que são recebidos são encaminhados para a relação “success”

Grava atributos

Nome

Descrição

filename

O nome do arquivo que foi lido do sistema de arquivos.

path

O caminho é definido como o caminho relativo do diretório do arquivo no sistema de arquivos em comparação com a propriedade Diretório de entrada. Por exemplo, se a propriedade Diretório de entrada for definida como /tmp, os arquivos coletados de /tmp terão o atributo de caminho definido como “/”. Se a propriedade Percorrer subdiretórios estiver definida como verdadeira e um arquivo for retirado de /tmp/abc/1/2/3, o atributo path será definido como “abc/1/2/3/”.

absolute.path

O absolute.path é definido como o caminho absoluto do diretório do arquivo no sistema de arquivos. Por exemplo, se a propriedade Diretório de entrada estiver definida como /tmp, os arquivos coletados de /tmp terão o atributo path definido como “/tmp/”. Se a propriedade Percorrer subdiretórios estiver definida como verdadeira e um arquivo for retirado de /tmp/abc/1/2/3, o atributo path será definido como “/tmp/abc/1/2/3/”.

file.owner

O usuário que possui o arquivo no sistema de arquivos

file.group

O grupo que possui o arquivo no sistema de arquivos

file.size

O número de bytes no arquivo no sistema de arquivos

file.permissions

As permissões do arquivo no sistema de arquivos. Isso é formatado como 3 caracteres para o proprietário, 3 para o grupo e 3 para outros usuários. Por exemplo, rw-rw-r–

file.lastModifiedTime

O carimbo de data/hora de quando o arquivo no sistema de arquivos foi modificado pela última vez como “yyyyy-MM-dd’T’HH:mm:ssZ”

file.lastAccessTime

O carimbo de data/hora de quando o arquivo no sistema de arquivos foi acessado pela última vez como “yyyyy-MM-dd’T’HH:mm:ssZ”

file.creationTime

O carimbo de data/hora de quando o arquivo no sistema de arquivos foi criado como “yyyyy-MM-dd’T’HH:mm:ssZ”

Consulte também