ListS3 2025.5.31.15¶
Pacote¶
org.apache.nifi | nifi-aws-nar
Descrição¶
Recupera uma listagem de objetos de um bucket S3. Para cada objeto listado, cria um FlowFile que representa o objeto para que ele possa ser buscado em conjunto com FetchS3Object. Esse processador foi projetado para ser executado somente no nó primário em um cluster. Se o nó primário mudar, o novo nó primário continuará de onde o nó anterior parou sem duplicar todos os dados.
Requisito de entrada¶
FORBIDDEN
Oferece suporte a propriedades dinâmicas confidenciais¶
falso
Propriedades¶
Propriedade |
Descrição |
---|---|
Serviço de provedor de credenciais AWS |
O Controller Service que é usado para obter o provedor de credenciais AWS |
Bucket |
O bucket S3 para interagir |
Tempo limite de comunicação |
O tempo de espera para estabelecer uma conexão com o AWS ou receber dados do AWS antes de atingir o tempo limite. |
URL de substituição do ponto de extremidade |
URL do ponto de extremidade a ser usado em vez do padrão do AWS, incluindo esquema, host, porta e caminho. As bibliotecas AWS selecionam um URL de ponto de extremidade com base na região AWS, mas essa propriedade substitui o URL do ponto de extremidade selecionado, permitindo o uso com outros pontos de extremidade compatíveis com S3. |
Tamanho do lote de listagem |
Se não estiver usando um Record Writer, essa propriedade determina quantos objetos S3 devem ser listados em um único lote. Quando esse número for atingido, os FlowFiles criados serão transferidos para fora do processador. Definir esse valor mais baixo pode resultar em menor latência, enviando os FlowFiles antes que a listagem completa tenha sido concluída. No entanto, isso pode reduzir significativamente o desempenho. Valores maiores podem exigir mais memória para armazenar todas as informações antes de enviar os FlowFiles. Essa propriedade é ignorada se você estiver usando um Record Writer, pois uma das principais vantagens do Record Writer é poder emitir a listagem inteira como um único FlowFile. |
Região |
A região AWS à qual você deve se conectar. |
Serviço de contexto SSL |
Especifica um serviço de contexto SSL opcional que, se fornecido, será usado para criar conexões |
Substituição do signatário |
A biblioteca AWS S3 usa a Signature Version 4 por padrão, mas essa propriedade permite que você especifique o signatário da versão 2 para oferecer suporte a serviços compatíveis com S3 mais antigos ou até mesmo para conectar sua própria implementação de signatário personalizado. |
custom-signer-class-name |
Nome de classe totalmente qualificado da classe do assinador personalizado. O assinador deve implementar a interface com.amazonaws.auth.Signer. |
custom-signer-module-location |
Lista separada por vírgulas de caminhos para arquivos e/ou diretórios que contêm o arquivo JAR do assinador personalizado e suas dependências (se houver). |
delimiter |
A cadeia de caracteres usada para delimitar os diretórios dentro do bucket. Consulte a documentação do AWS para obter informações sobre o uso correto desse campo. |
et-initial-listing-target |
Especifique como a listagem inicial deve ser tratada. 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”. |
list-type |
Especifica se você deve usar o ponto de extremidade original Listar objetos (List Objects) ou o mais recente Listar objetos versão 2 |
listing-strategy |
Especifica como determinar entidades novas/atualizadas. Veja as descrições de cada estratégia para obter detalhes. |
max-age |
A idade máxima que um objeto S3 pode ter para ser considerado; qualquer objeto mais antigo do que esse período de tempo (de acordo com a data da última modificação) será ignorado |
min-age |
A idade mínima que um objeto S3 deve ter para ser considerado; qualquer objeto mais novo do que esse período de tempo (de acordo com a data da última modificação) será ignorado |
prefix |
O prefixo usado para filtrar a lista de objetos. Não comece com uma barra “/”. Na maioria dos casos, ele deve terminar com uma barra “/”. |
proxy-configuration-service |
Especifica o serviço de Controller Service de configuração de proxy para a realização de proxy de solicitações de rede. |
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. |
requester-pays |
Se verdadeiro, indica que o solicitante consente em pagar quaisquer encargos associados à listagem do bucket S3. Isso define o cabeçalho “x-amz-request-payer” como “requester”. Observe que essa configuração não é aplicável quando “Usar versões” for “verdadeiro”. |
use-versions |
Especifica se se deve usar versões S3, se aplicável. Se falso, somente a versão mais recente de cada objeto será retornada. |
write-s3-object-tags |
Se definido como “verdadeiro”, as tags associadas ao objeto S3 serão gravadas como atributos FlowFile |
write-s3-user-metadata |
Se definido como “verdadeiro”, os metadados definidos pelo usuário associados ao objeto S3 serão adicionados aos atributos/registros do FlowFile |
Gerenciamento do estado¶
Escopos |
Descrição |
---|---|
CLUSTER |
Depois de fazer uma listagem de chaves, o carimbo de data/hora da chave mais recente é armazenado, juntamente com as chaves que compartilham esse mesmo carimbo de data/hora. Isso permite que o processador liste apenas as chaves adicionadas ou modificadas após essa data na próxima vez em que o processador for executado. O estado é armazenado em todo o cluster para que esse processador possa ser executado somente no nó primário e, se um novo nó primário for selecionado, o novo nó poderá continuar de onde o nó anterior parou, sem duplicar os dados. |
Relações¶
Nome |
Descrição |
---|---|
success |
FlowFiles são encaminhados para essa relação após terem sido processados com sucesso. |
Grava atributos¶
Nome |
Descrição |
---|---|
s3.bucket |
O nome do bucket S3 |
s3.region |
A região do bucket S3 |
filename |
O nome do arquivo |
s3.etag |
O ETag que pode ser usado para verificar se o arquivo foi alterado |
s3.isLatest |
Um booliano que indica se essa é a versão mais recente do objeto |
s3.lastModified |
O tempo da última modificação em milissegundos desde a época, no horário UTC |
s3.length |
O tamanho do objeto em bytes |
s3.storeClass |
A classe de armazenamento do objeto |
s3.version |
A versão do objeto, se aplicável |
s3.tag.___ |
Se “Gravar tags de objeto” for definido como “verdadeiro”, as tags associadas ao objeto S3 que está sendo listado serão gravadas como parte dos atributos do FlowFile |
s3.user.metadata.___ |
Se “Gravar metadados de usuário” for definido como “verdadeiro”, os metadados definidos pelo usuário associados ao objeto S3 que está sendo listado serão gravados como parte dos atributos do FlowFile |