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