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に設定します。 |