ConsumeSlack 2025.5.31.15¶
Bundle¶
org.apache.nifi | nifi-slack-nar
Beschreibung¶
Ruft Meldungen aus einem oder mehreren konfigurierten Slack-Kanälen ab. Die Meldungen werden im JSON-Format geschrieben. Weitere Informationen dazu, wie Sie diesen Prozessor konfigurieren und ihn für den Abruf von Meldungen aus Slack aktivieren, finden Sie unter „Verwendung / Weitere Details“.
Eingabeanforderung¶
FORBIDDEN
Unterstützt sensible dynamische Eigenschaften¶
false
Eigenschaften¶
Eigenschaft |
Beschreibung |
---|---|
Zugriffstoken |
OAuth-Zugriffstoken für die Authentifizierung/Autorisierung der Slack-Anfrage, die von NiFi gesendet wird. Dies kann entweder ein Benutzer-Token oder ein Bot-Token sein. Je nach Art der Konversation muss ihr der Bereich „channels:history“, „groups:history“, „im:history“ oder „mpim:history“ zugewiesen werden. |
Batch Size |
Die maximale Anzahl von Meldungen, die in einer einzigen Anfrage an Slack abgerufen werden. Die gesamte Antwort wird in den Speicher geparst, daher ist es wichtig, dies bei der Einstellung dieses Werts zu berücksichtigen. |
Kanäle |
Eine durch Kommas getrennte Liste von Slack-Kanälen, aus denen Meldungen abgerufen werden sollen. Jedes Element in der Liste kann entweder eine Kanal-ID sein, wie z. B. C0L9VCD47, oder (nur für öffentliche Kanäle) der Name eines Kanals, dem ein #-Zeichen vorangestellt ist, wie z. B. #general. Wenn anstelle einer ID ein Kanalname angegeben wird, muss dem angegebenen Zugriffstoken der Bereich „channels:read“ gewährt werden, um die Kanal-ID aufzulösen. Weitere Informationen zum Auffinden einer Kanal-ID finden Sie unter „Weitere Details“ des Prozessors. |
Include Message Blocks |
Gibt an, ob die JSON-Ausgabe den Wert des Felds „Blocks“ für jede Slack-Meldung enthalten soll oder nicht. Dieses Feld enthält Informationen wie einzelne Teile einer Meldung, die mit Rich Text formatiert sind. Dies kann beispielsweise beim Parsing nützlich sein. Allerdings macht es oft einen erheblichen Teil der Daten aus und kann daher auf null gesetzt werden, wenn es für Sie nicht von Nutzen ist. |
Include Null Fields |
Legt fest, ob Felder mit Nullwerten in die JSON-Ausgabe aufgenommen werden sollen oder nicht. Bei „true“ wird jedes Feld in einer Slack-Meldung, das einen Nullwert hat, mit dem Wert Null in die JSON-Datei aufgenommen. Bei „false“ wird der Schlüssel in der JSON-Ausgabe ganz weggelassen. Das Weglassen von Nullwerten führt zu kleineren Meldungen, die in der Regel effizienter zu verarbeiten sind. Die Einbeziehung der Werte kann jeoch zu einem besseren Verständnis des Formats führen, insbesondere für die Schema-Inferenz. |
Reply Monitor Frequency |
Nachdem er alle Meldungen in einem bestimmten Kanal empfangen hat, fragt dieser Prozessor in regelmäßigen Abständen alle „Thread-Meldungen“ (Antworten) ab, deren Zeitstempel zwischen dem aktuellen Zeitpunkt und dem in der Eigenschaft <Reply Monitor Window> angegebenen Zeitraum liegt. Diese Eigenschaft bestimmt, wie häufig diese Meldungen abgerufen werden. Wenn Sie den Wert auf eine kürzere Dauer einstellen, können Antworten auf Meldungen schneller erfasst werden, was zu einer geringeren Latenzzeit führt. Dies führt jedoch auch zu einem zusätzlichen Ressourcenverbrauch und kann eine Ratenbegrenzung auslösen. |
Reply Monitor Window |
Nachdem er alle Meldungen in einem bestimmten Kanal empfangen hat, fragt dieser Prozessor in regelmäßigen Abständen alle „Thread-Meldungen“ (Antworten) ab, deren Zeitstempel zwischen dem aktuellen Zeitpunkt und einem definierten Zeitraum in der Vergangenheit liegt, um auf neue Antworten zu prüfen. Wenn Sie diesen Wert auf einen höheren Wert setzen, kann dies zu einer zusätzlichen Ressourcenauslastung und zu einer Ratenbegrenzung führen. Wenn ein Benutzer jedoch auf einen alten Thread antwortet, der außerhalb dieses Zeitfensters gestartet wurde, wird die Antwort möglicherweise nicht erfasst. |
Resolve Usernames |
Gibt an, ob Benutzer-IDs in Benutzernamen aufgelöst werden soll oder nicht. Standardmäßig geben Slack-Meldungen die ID des Benutzers an, der eine Meldung sendet, z. B. U0123456789, nicht aber den Benutzernamen, z. B. NiFiUser. Der Benutzername kann zwar aufgelöst werden, aber dazu sind möglicherweise zusätzliche Aufrufe an die Slack-API erforderlich. Außerdem muss dem verwendeten Token der Zugriffsbereich „users:read“ zugewiesen werden. Wenn diese Einstellung auf „true“ gesetzt ist, werden Benutzernamen nach dem Best-Effort-Prinzip aufgelöst: Kann ein Benutzername nicht ermittelt werden, wird er übersprungen. Beachten Sie auch, dass, wenn Sie einen Benutzernamen erhalten, das Feld <username> der Meldung ausgefüllt und das Feld <text> so aktualisiert wird, sodass jede Erwähnung als „Hallo @Benutzer“ anstelle von „Hallo <@U1234567>“ ausgegeben wird. |
Statusmanagement¶
Bereiche |
Beschreibung |
---|---|
CLUSTER |
Hält eine Zuordnung von Slack-Kanal-IDs zum Zeitstempel der letzten Meldung aufrecht, die für diesen Kanal abgerufen wurde. Dadurch kann der Prozessor nur Meldungen abrufen, die seit der letzten Ausführung des Prozessors gepostet wurden. Dieser Status wird im Cluster gespeichert, sodass bei einem Wechsel des primären Knotens der neue Knoten dort weitermacht, wo der vorherige Knoten aufgehört hat. |
Beziehungen¶
Name |
Beschreibung |
---|---|
success |
Slack-Meldungen, die erfolgreich empfangen werden, werden an diese Beziehung weitergeleitet |
Schreibt Attribute¶
Name |
Beschreibung |
---|---|
slack.channel.id |
Die ID des Slack-Kanals, aus dem die Meldungen abgerufen wurden |
slack.message.count |
Die Anzahl der Slack-Meldungen, die im FlowFile enthalten sind |
mime.type |
Setzen Sie diese Option auf application/json, da die Ausgabe immer im JSON-Format erfolgen wird |