ConsumeSlack 2025.5.31.15¶
번들¶
org.apache.nifi | nifi-slack-nar
설명¶
구성된 1개 이상의 Slack 채널에서 메시지를 검색합니다. 메시지는 JSON 형식으로 작성됩니다. 이 프로세서를 구성하고 Slack에서 메시지를 검색하도록 설정하는 방법에 대한 자세한 내용은 사용 / 추가 세부 정보를 참조하십시오.
입력 요구 사항¶
FORBIDDEN
민감한 동적 속성 지원¶
false
속성¶
속성 |
설명 |
---|---|
액세스 토큰 |
NiFi 에서 보낸 Slack 요청을 인증/승인하는 데 사용되는 OAuth 액세스 토큰입니다. 사용자 토큰 또는 봇 토큰일 수 있습니다. 사용 중인 대화 유형에 따라 채널:기록, 그룹:기록, 메신저:기록 또는 엠핌:기록 범위를 부여받아야 합니다. |
Batch Size |
Slack에 한 번의 요청으로 검색할 수 있는 최대 메시지 수입니다. 전체 응답이 메모리로 구문 분석되므로 이 값을 설정할 때 이 점을 염두에 두어야 합니다. |
채널 |
메시지를 검색할 Slack 채널의 쉼표로 구분된 목록입니다. 목록의 각 요소는 C0L9VCD47 같은 ID 채널이거나 (공개 채널의 경우에만) #general과 같이 # 기호를 접두사로 붙인 채널 이름일 수 있습니다. ID 대신 채널 이름이 제공된 경우, 채널 ID 를 확인하려면 제공된 액세스 토큰에 채널:읽기 범위가 부여되어야 합니다. 채널 ID 를 찾는 방법에 대한 자세한 내용은 프로세서의 추가 세부 정보를 참조하십시오. |
Include Message Blocks |
JSON 출력에 각 Slack 메시지에 대한 ‘blocks’ 필드 값을 포함할지 여부를 지정합니다. 이 필드에는 서식 있는 텍스트를 사용하여 형식이 지정된 메시지의 개별 부분과 같은 정보가 포함됩니다. 예를 들어, 구문 분석에 유용할 수 있습니다. 그러나 데이터의 상당 부분을 차지하는 경우가 많으므로 유용하지 않은 경우 null로 설정할 수 있습니다. |
Include Null Fields |
Null 값을 가진 필드를 출력 JSON 에 포함할지 여부를 지정합니다. true인 경우, Slack 메시지의 모든 필드에 null 값이 있는 필드는 JSON 에 null 값으로 포함됩니다. false이면 JSON 출력에서 키가 완전히 생략됩니다. Null 값을 생략하면 일반적으로 처리 효율이 더 높은 작은 메시지가 생성되지만, 값을 포함하면 특히 스키마 추론의 경우 형식을 더 잘 이해할 수 있습니다. |
Reply Monitor Frequency |
특정 채널의 모든 메시지를 소비한 후, 이 프로세서는 <Reply Monitor Window> 속성에서 지정된 시간 범위 내에 타임스탬프가 포함된 모든 “스레드 메시지”(즉, 응답 메시지)를 주기적으로 폴링합니다. 이 속성은 해당 메시지가 폴링되는 빈도를 결정합니다. 이 값을 더 짧은 기간으로 설정하면 메시지에 대한 답글이 더 빨리 캡처되어 지연 시간을 줄일 수 있습니다. 그러나 추가 리소스 사용으로 인해 요금 제한이 트리거될 수도 있습니다. |
Reply Monitor Window |
특정 채널의 모든 메시지를 소비한 후, 이 프로세서는 현재 시간과 과거의 특정 시간 사이의 타임스탬프를 가진 모든 “스레드 메시지”(즉, 응답 메시지)를 주기적으로 폴링하여 새로운 응답이 있는지 확인합니다. 이 값을 더 큰 값으로 설정하면 추가 리소스 사용이 발생할 수 있으며 요금 제한이 적용될 수 있습니다. 그러나 사용자가 이 윈도우 외부에서 시작된 이전 스레드에 댓글을 달면 답글이 캡처되지 않을 수 있습니다. |
Resolve Usernames |
사용자 IDs 를 사용자 이름으로 확인해야 하는지 여부를 지정합니다. 기본적으로 Slack 메시지는 U0123456789와 같이 메시지를 보내는 사용자의 ID 를 제공하지만, NiFiUser 같은 사용자 이름은 제공하지 않습니다. 사용자 이름은 해결될 수 있지만 Slack API 로의 추가 호출이 필요할 수 있으며 사용된 토큰에 사용자:읽기 범위가 부여되어야 합니다. true로 설정되면 사용자 이름은 최선의 노력 정책으로 확인됩니다. 사용자 이름을 얻을 수 없는 경우 해당 사용자 이름을 건너뜁니다. 또한 사용자 이름을 가져오면 메시지의 <username> 필드가 채워지고, <text> 필드가 업데이트되어 멘션이 “Hi <@U1234567>” 대신 “Hi @사용자”와 같이 출력되도록 합니다. |
상태 관리¶
범위 |
설명 |
---|---|
CLUSTER |
Slack 채널 IDs 를 해당 채널에 대해 마지막으로 검색된 메시지의 타임스탬프에 매핑을 유지합니다. 이렇게 하면 프로세서가 마지막으로 프로세서를 실행한 이후 게시된 메시지만 검색할 수 있습니다. 이 상태는 클러스터에 저장되므로 기본 노드가 변경되면 새 노드가 이전 노드가 중단한 부분을 이어받게 됩니다. |
관계¶
이름 |
설명 |
---|---|
성공 |
성공적으로 수신된 Slack 메시지는 이 관계로 라우팅됩니다 |
Writes 특성¶
이름 |
설명 |
---|---|
slack.channel.id |
메시지가 검색된 Slack 채널의 ID |
slack.message.count |
FlowFile 에 포함된 Slack 메시지의 수 |
mime.type |
출력은 항상 JSON 형식이 되므로 application/json으로 설정합니다 |