ConsumeSlack 2025.5.31.15

バンドル

org.apache.nifi | nifi-slack-nar

説明

1つ以上の構成されたSlackチャンネルからメッセージを取得します。メッセージは JSON 形式で書き出されます。このプロセッサーを構成し、Slackからメッセージを取得できるようにする方法の詳細については、使用方法 / その他の詳細を参照してください。

タグ

会話、会話履歴、スラック、ソーシャルメディア、チーム、テキスト、非構造化

入力要件

FORBIDDEN

機密動的プロパティをサポート

false

プロパティ

プロパティ

説明

アクセストークン

OAuth NiFi から送信された Slack リクエストの認証/認可に使用されるアクセストークン。これは、ユーザートークンまたはボットトークンのいずれかです。使用する会話のタイプに応じて、channels:history、group:history、im:history、または mpim:history スコープを付与する必要があります。

バッチサイズ

Slackへの1回のリクエストで取得するメッセージの最大数。レスポンス全体がメモリにパースされるので、この値をセットする際にはこの点に注意することが重要です。

チャネル

メッセージを取得するSlackチャンネルのカンマ区切りリスト。リストの各要素は、 C0L9VCD47 のようなチャンネル名 ID か、#general のような#記号をプレフィックスとするチャンネル名 (公開チャンネルのみ) のいずれかです。ID の代わりに任意のチャネル名が提供された場合、チャネル ID を解決するために、提供されたアクセストークンに channels:read スコープを付与する必要があります。Channel ID の検索方法については、プロセッサーの追加情報を参照してください。

メッセージブロックを含む

出力 JSON に各 Slack メッセージの 'blocks' フィールドの値を含めるかどうかを指定します。このフィールドには、リッチテキストを使用して形式化されたメッセージの個々の部分などの情報が含まれます。これは、例えば解析の際に便利です。しかし、データのかなりの部分を占めていることが多いため、有用でない場合はNULLにセットすることもあります。

Nullフィールドを含む

Null値を持つフィールドを出力 JSON に含めるかどうかを指定します。true の場合、Slack メッセージのフィールドで null 値を持つものは、 JSON に null 値で含まれます。falseの場合、出力から省略されたキーは全て JSON です。Null値を省略するとメッセージは小さくなり、一般的に処理効率が良くなりますが、値を含めることで、特にスキーマ推論において、形式をよりよく理解できるようになるかもしれません。

返信モニター頻度

指定されたチャネルのすべてのメッセージを消費した後、このプロセッサーは、タイムスタンプが現在から<Reply Monitor Window> プロパティで指定された時間の間にあるすべての「スレッドメッセージ」、別名「リプライ」を定期的にポーリングします。このプロパティは、これらのメッセージがポーリングされる頻度を決定します。この値を短くセットすると、メッセージの返信がより早くキャプチャされ、待ち時間が短くなります。ただし、リソースの使用量が増えるため、料金制限のトリガーになる可能性もあります。

返信モニターウィンドウ

与えられたチャネルのすべてのメッセージをコンシューマーした後、このプロセッサーは、タイムスタンプが現在からこの時間過去の間にあるすべての「スレッドメッセージ」、別名「リプライ」を定期的にポーリングして、新しいリプライがないかどうかをチェックします。この値を大きくセットすると、さらにリソースを使用することになり、レート制限がかかる場合があります。しかし、ユーザーがこのウィンドウの外で開始された古いスレッドに返信した場合、その返信はキャプチャされないことがあります。

ユーザー名の解決

User IDs をユーザー名に解決するかどうかを指定します。デフォルトでは、Slack メッセージには、U0123456789 のようなメッセージを送信したユーザーの ID が表示されますが、 NiFiUser のようなユーザー名は表示されません。ユーザー名は解決できますが、Slack API への追加呼び出しが必要になる場合があり、使用するトークンに users:read スコープが付与されている必要があります。trueにセットすると、ユーザー名は最善のポリシーで解決されます。ユーザー名が取得できない場合は、そのユーザー名はスキップされます。また、ユーザー名が取得されると、メッセージの<ユーザー名> フィールドに入力され、<テキスト> フィールドが更新され、"Hi<@U1234567>" ではなく、"Hi @user" のように出力されることに注意してください。

状態管理

スコープ

説明

CLUSTER

Slack チャンネル IDs と、そのチャンネルで最後に取得されたメッセージのタイムスタンプのマッピングを保持します。これにより、プロセッサーは、前回プロセッサーが実行された時以降に投稿されたメッセージのみを取得することができます。この状態はクラスタリングに保存され、プライマリノードが変更された場合、新しいノードが前のノードの状態を引き継ぎます。

リレーションシップ

名前

説明

success

正常に受信されたSlackメッセージは、このリレーションシップにルーティングされます。

属性の書き込み

名前

説明

slack.channel.id

メッセージが取得された Slack チャンネルの ID

Slack.メッセージ.数

FlowFile に含まれるSlackメッセージの数。

mime.type

出力は常に JSON 形式になるため、application/jsonに設定します。

こちらもご覧ください