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.

Tags

AWS, Amazon, S3, lista

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

Consulte também