ListS3 2025.5.31.15¶
Bundle¶
org.apache.nifi | nifi-aws-nar
Beschreibung¶
Ruft eine Liste von Objekten aus einem S3-Bucket ab. Für jedes aufgelistete Objekt wird ein FlowFile erstellt, das das Objekt darstellt, sodass es in Verbindung mit FetchS3Object abgerufen werden kann. Dieser Prozessor ist für den Betrieb auf dem primären Knoten in einem Cluster vorgesehen. Wenn sich der primäre Knoten ändert, macht der neue primäre Knoten dort weiter, wo der vorherige Knoten aufgehört hat, ohne alle Daten zu duplizieren.
Eingabeanforderung¶
FORBIDDEN
Unterstützt sensible dynamische Eigenschaften¶
false
Eigenschaften¶
Eigenschaft |
Beschreibung |
---|---|
AWS-Anmeldeinformationen-Anbieterdienst |
Der Controller Service, der verwendet wird, um AWS-Anmeldeinformationsanbieter zu erhalten |
Bucket |
Der S3-Bucket, mit dem interagiert werden soll |
Communications Timeout |
Die Zeitspanne, die gewartet wird, um eine Verbindung zu AWS herzustellen oder Daten von AWS zu empfangen, bevor es zu einem Timeout kommt. |
Endpoint Override URL |
Endpunkt-URL, die anstelle des AWS Standardwerts verwendet werden soll, einschließlich Schema, Host, Port und Pfad. Die AWS-Bibliotheken wählen eine Endpunkt-URL auf der Grundlage der AWS-Region aus, aber diese Eigenschaft überschreibt die ausgewählten Endpunkt-URL und ermöglicht die Verwendung mit anderen S3-kompatiblen Endpunkten. |
Listing Batch Size |
Wenn Sie keinen Record Writer verwenden, bestimmt diese Eigenschaft, wie viele S3-Objekte in einem einzelnen Batch aufgelistet werden sollen. Sobald diese Anzahl erreicht ist, werden die erstellten FlowFiles aus dem Prozessor übertragen. Wenn Sie diesen Wert niedriger einstellen, kann dies zu einer geringeren Latenz führen, da die FlowFiles gesendet werden, bevor das komplette Freigabeangebot abgeschlossen ist. Allerdings kann dies die Leistung erheblich beeinträchtigen. Bei größeren Werten wird möglicherweise mehr Speicher benötigt, um alle Informationen zu speichern, bevor die FlowFiles gesendet werden. Diese Eigenschaft wird bei Verwendung eines Record Writers ignoriert, da einer der Hauptvorteile des Record Writers darin besteht, dass er die gesamte Auflistung als ein einziges FlowFile ausgeben kann. |
Region |
Die AWS-Region, mit der Sie sich verbinden möchten. |
SSL Context Service |
Gibt einen optionalen SSL Context Service an, der, falls vorhanden, zum Erstellen von Verbindungen verwendet wird |
Signer Override |
Die AWS-S3-Bibliothek verwendet standardmäßig die Signaturversion 4, aber mit dieser Eigenschaft können Sie den Signierer der Version 2 angeben, um ältere S3-kompatible Dienste zu unterstützen oder sogar Ihre eigene benutzerdefinierte Signierer-Implementierung einzubinden. |
custom-signer-class-name |
Vollständig qualifizierter Klassenname der benutzerdefinierten Signaturklasse. Der Signierer muss die Schnittstelle „com.amazonaws.auth.Signer“ implementieren. |
custom-signer-module-location |
Durch Kommas getrennte Liste von Pfaden zu Dateien und/oder Verzeichnissen, die die JAR-Datei des benutzerdefinierten Signierers und deren Abhängigkeiten (falls vorhanden) enthalten. |
Trennzeichen |
Die Zeichenfolge, die zur Abgrenzung von Verzeichnissen innerhalb des Buckets verwendet wird. Konsultieren Sie die AWS-Dokumentation für die korrekte Verwendung dieses Feldes. |
et-initial-listing-target |
Legen Sie fest, wie das erste Freigabeangebot behandelt werden soll. Wird von der Strategie „Tracking Entities“ verwendet. |
et-state-cache |
Freigegebene Entitäten werden im angegebenen Cache-Speicher gespeichert, sodass dieser Prozessor die Freigabe bei einem Neustart von NiFi oder bei einem Wechsel des primären Knotens wieder aufnehmen kann. „Tracking Entities“-Strategie erfordert Tracking-Informationen von allen aufgelisteten Entitäten innerhalb des letzten „Tracking Time Window“. Um eine große Anzahl von Entitäten zu unterstützen, verwendet die Strategie DistributedMapCache anstelle eines verwalteten Zustands. Das Format des Cache-Schlüssels ist „ListedEntities: :{processorId}(::{nodeId})“. Wenn es pro Knoten aufgelistete Entitäten verfolgt, dann wird der optionale Teil „::{nodeId}“ hinzugefügt, um den Status separat zu verwalten. Beispiel: Clusterweiter Cache-Schlüssel = „ListedEntities::8dda2321-0164-1000-50fa-3042fe7d6a7b“, Cache-Schlüssel pro Knoten = „ListedEntities::8dda2321-0164-1000-50fa-3042fe7d6a7b::nifi-node3“ Der gespeicherte Cache-Inhalt ist eine Gzipped JSON-Zeichenkette. Der Cache-Schlüssel wird gelöscht, wenn die Konfiguration der Zielliste geändert wird. Wird von der Strategie „Tracking Entities“ verwendet. |
et-time-window |
Geben Sie an, wie lange dieser Prozessor bereits gelistete Entitäten verfolgen soll. Die Strategie „Tracking Entities“ kann jede Entität auswählen, deren Zeitstempel innerhalb des angegebenen Zeitfensters liegt. Wenn Sie z. B. „30 Minuten“ einstellen, wird jede Entität, deren Zeitstempel in den letzten 30 Minuten liegt, das Ziel des Freigabeangebots sein, wenn dieser Prozessor läuft. Ein gelistete Entität gilt als „neu/aktualisiert“ und ein FlowFile wird ausgegeben, wenn eine der folgenden Bedingungen erfüllt ist: 1. Sie ist nicht in den bereits gelisteten Entitäten vorhanden, 2. Sie hat einen neueren Zeitstempel als die zwischengespeicherte Entität, 3. Sie hat eine andere Größe als die zwischengespeicherte Entität. Wenn der Zeitstempel einer zwischengespeicherten Entität älter ist als das angegebene Zeitfenster, wird diese Entität aus den zwischengespeicherten, bereits gelisteten Entitäten entfernt. Wird von der Strategie „Tracking Entities“ verwendet. |
list-type |
Legt fest, ob der ursprüngliche „List-Objects“-Endpunkt oder der neuere „List-Objects-Version-2“-Endpunkt verwendet werden soll. |
listing-strategy |
Legen Sie fest, wie neue/aktualisierte Entitäten ermittelt werden sollen. Weitere Informationen finden Sie in den Beschreibungen der einzelnen Strategien. |
max-age |
Das maximale Alter, das ein S3-Objekt haben darf, um berücksichtigt zu werden. Jedes Objekt, das älter als diese Zeitspanne ist (gemäß dem Datum der letzten Änderung), wird ignoriert |
min-age |
Das Mindestalter, das ein S3-Objekt haben muss, um berücksichtigt zu werden; jedes Objekt, das jünger ist als diese Zeitspanne (entsprechend dem Datum der letzten Änderung), wird ignoriert. |
Präfix |
Das Präfix, das zum Filtern der Objektliste verwendet wird. Beginnen Sie nicht mit einem Schrägstrich „/“. In den meisten Fällen sollte er mit einem Schrägstrich „/“ enden. |
proxy-configuration-service |
Gibt den Proxy-Konfigurations-Controller Service an für die Weiterleitung von Netzwerkanforderungen festl. |
record-writer |
Gibt den Record Writer an, der zum Erstellen der Liste verwendet werden soll. Wenn nicht angegeben, wird für jede aufgelistete Entität ein FlowFile erstellt. Wenn der Record Writer angegeben ist, werden alle Entitäten in ein einziges FlowFile geschrieben, anstatt Attribute zu einzelnen FlowFiles hinzuzufügen. |
requester-pays |
Wenn „true“ bedeutet dies, Wenn wahr, gibt dies an, dass der Anfragende mit der Zahlung aller mit der Auflistung des S3-Buckets verbundenen Gebühren einverstanden ist. Dies setzt den Header „x-amz-request-payer“ auf „requester“. Beachten Sie, dass diese Einstellung nicht anwendbar ist, wenn „Use Versions“ den Wert „true“ hat. |
use-versions |
Gibt an, ob S3-Versionen verwendet werden sollen, falls zutreffend. Bei „false“ wird nur die letzte Version jedes Objekts zurückgegeben. |
write-s3-object-tags |
Wenn diese Einstellung auf „true“ gesetzt ist, werden die mit dem S3-Objekt verbundenen Tags als FlowFile-Attribute geschrieben. |
write-s3-user-metadata |
Wenn „true“ werden die benutzerdefinierten Metadaten, die mit dem S3-Objekt verbunden sind, zu FlowFile-Attributen/-Datensätzen hinzugefügt |
Statusmanagement¶
Bereiche |
Beschreibung |
---|---|
CLUSTER |
Nach dem Auflisten der Schlüssel wird der Zeitstempel des neuesten Schlüssels zusammen mit den Schlüsseln gespeichert, die denselben Zeitstempel haben. Dadurch kann der Prozessor bei der nächsten Ausführung des Prozessors nur Schlüssel auflisten, die nach diesem Datum hinzugefügt oder geändert wurden. Der Status wird im gesamten Cluster gespeichert, sodass dieser Prozessor nur auf dem primären Knoten ausgeführt werden kann. Wenn ein neuer primärer Knoten ausgewählt wird, kann der neue Knoten dort weitermachen, wo der vorherige Knoten aufgehört hat, ohne die Daten zu duplizieren. |
Beziehungen¶
Name |
Beschreibung |
---|---|
success |
FlowFiles werden nach erfolgreicher Bearbeitung an diese Beziehung weitergeleitet. |
Schreibt Attribute¶
Name |
Beschreibung |
---|---|
s3.bucket |
Der Name des S3-Buckets |
s3.region |
Die Region des S3-Buckets |
filename |
Der Name der Datei |
s3.etag |
Das ETag, das verwendet werden kann, um zu sehen, ob sich die Datei geändert hat |
s3.isLatest |
Ein boolescher Wert, der angibt, ob dies die neueste Version des Objekts ist |
s3.lastModified |
Die zuletzt geänderte Zeit in Millisekunden seit der Epoche in UTC time |
s3.length |
Die Größe des Objekts in Bytes |
s3.storeClass |
Die Speicherklasse des Objekts |
s3.version |
Die Version des Objekts, falls zutreffend |
s3.tag.___ |
Wenn „Write Object Tags“ auf „true“ gesetzt ist, werden die Tags, die mit dem aufgelisteten S3-Objekt verbunden sind, als Teil der FlowFile-Attribute geschrieben |
s3.user.metadata.___ |
Wenn „Write User Metadata“ auf „true“ gesetzt ist, werden die benutzerdefinierten Metadaten, die mit dem aufgelisteten S3-Objekt verbunden sind, als Teil der FlowFile-Attribute geschrieben |