ListGCSBucket 2025.5.31.15¶
Bundle¶
org.apache.nifi | nifi-gcp-nar
Beschreibung¶
Ruft eine Liste von Objekten aus einem GCS-Bucket ab. Für jedes aufgelistete Objekt wird ein FlowFile erstellt, das das Objekt darstellt, sodass es in Verbindung mit FetchGCSObject 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 |
---|---|
GCP-Anmeldeinformationen-Anbieterdienst |
Der Controller Service, der verwendet wird, um Anmeldeinformationen für Google Cloud Platform zu erhalten. |
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. |
gcp-project-id |
Google Cloud Projekt-ID |
gcp-retry-count |
Wie viele Wiederholungsversuche unternommen werden sollten, bevor die Weiterleitung an die Beziehung „failure“ erfolgt. |
gcs-bucket |
Bucket des Objekts. |
gcs-prefix |
Das Präfix, das zum Filtern der Objektliste verwendet wird. In den meisten Fällen sollte es mit einem Schrägstrich („/“) enden. |
gcs-use-generations |
Gibt an, ob GCS Generations verwendet werden soll, falls zutreffend. Bei „false“ wird nur die letzte Version jedes Objekts zurückgegeben. |
listing-strategy |
Legen Sie fest, wie neue/aktualisierte Entitäten ermittelt werden sollen. Weitere Informationen finden Sie in den Beschreibungen der einzelnen Strategien. |
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. |
storage-api-url |
Überschreibt die Standardspeicher-URL. Durch Konfiguration einer alternativen Storage-API-URL wird auch der HTTP-Host-Header bei Anfragen überschrieben, wie in der Google-Dokumentation zu Private Service Connections beschrieben. |
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 einer erfolgreichen Google Cloud Storage-Operation an diese Beziehung weitergeleitet. |
Schreibt Attribute¶
Name |
Beschreibung |
---|---|
filename |
Der Name der Datei |
gcs.bucket |
Bucket des Objekts. |
gcs.key |
Name des Objekts. |
gcs.size |
Größe des Objekts. |
gcs.cache.control |
Daten-Cache-Steuerung des Objekts. |
gcs.component.count |
Die Anzahl der Komponenten, aus denen das Objekt besteht. |
gcs.content.disposition |
Die Dateninhaltsdisposition des Objekts. |
gcs.content.encoding |
Die Inhaltscodierung des Objekts. |
gcs.content.language |
Die Inhaltssprache des Objekts. |
mime.type |
Die MIME-/Content-Type des Objekts |
gcs.crc32c |
Die CRC32C-Prüfsumme der Daten des Objekts, codiert in base64 in Big-Endian-Reihenfolge. |
gcs.create.time |
Die Erstellungszeit des Objekts (Millisekunden) |
gcs.update.time |
Der Zeitpunkt der letzten Änderung des Objekts (Millisekunden) |
gcs.encryption.algorithm |
Der zur Verschlüsselung des Objekts verwendete Algorithmus. |
gcs.encryption.sha256 |
Der SHA256-Hashwert des zur Verschlüsselung des Objekts verwendeten Schlüssels |
gcs.etag |
Das HTTP 1.1 Entity-Tag für das Objekt. |
gcs.generated.id |
Der Dienst, der für das Objekt generiert wurde |
gcs.generation |
Die Datenerzeugung des Objekts. |
gcs.md5 |
Der MD5-Hashwert der Daten des Objekts, codiert in base64. |
gcs.media.link |
Der Medien-Download-Link zum Objekt. |
gcs.metageneration |
Die Metageneration des Objekts. |
gcs.owner |
Der Eigentümer (Hochladende) des Objekts. |
gcs.owner.type |
Der ACL-Entitätstyp des Uploaders des Objekts. |
gcs.acl.owner |
Eine durch Kommas getrennte Liste von ACL-Entitäten, die als Eigentümer Zugriff auf das Objekt haben. Entitäten sind entweder E-Mail-Adressen, Domänen oder Projekt-IDs. |
gcs.acl.writer |
Eine durch Kommas getrennte Liste von ACL-Entitäten, die Schreibzugriff auf das Objekt haben. Entitäten sind entweder E-Mail-Adressen, Domänen oder Projekt-IDs. |
gcs.acl.reader |
Eine durch Kommas getrennte Liste von ACL Entitäten, die Lesezugriff auf das Objekt haben. Entitäten sind entweder E-Mail-Adressen, Domänen oder Projekt-IDs. |
gcs.uri |
Die URI des Objekts als Zeichenfolge. |