ListFile 2025.10.2.19¶
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 |
Specify how initial listing should be handled. Used by “Tracking Entities’strategy. |
et-node-identifier |
The configured value will be appended to the cache key so that listing state can be tracked per NiFi node rather than cluster wide when tracking state is scoped to LOCAL. Used by “Tracking Entities’strategy. |
et-state-cache |
Listed entities are stored in the specified cache storage so that this processor can resume listing across NiFi restart or in case of primary node change. “Tracking Entities’strategy require tracking information of all listed entities within the last “Tracking Time Window”. To support large number of entities, the strategy uses DistributedMapCache instead of managed state. Cache key format is “ListedEntities::{processorId}(::{nodeId})”. If it tracks per node listed entities, then the optional “::{nodeId}” part is added to manage state separately. E.g. cluster wide cache key =”ListedEntities::8dda2321-0164-1000-50fa-3042fe7d6a7b”, per node cache key =”ListedEntities::8dda2321-0164-1000-50fa-3042fe7d6a7b::nifi-node3” The stored cache content is Gzipped JSON string. The cache key will be deleted when target listing configuration is changed. Used by “Tracking Entities’strategy. |
et-time-window |
Specify how long this processor should track already-listed entities. “Tracking Entities’strategy can pick any entity whose timestamp is inside the specified time window. For example, if set to “30 minutes”, any entity having timestamp in recent 30 minutes will be the listing target when this processor runs. A listed entity is considered “new/updated” and a FlowFile is emitted if one of following condition meets: 1. does not exist in the already-listed entities, 2. has newer timestamp than the cached entity, 3. has different size than the cached entity. If a cached entity “s timestamp becomes older than specified time window, that entity will be removed from the cached already-listed entities. Used by’Tracking Entities’strategy. |
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 |
|---|---|
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>. |
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>. |
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” |