ConsumeSlack 2025.5.31.15

번들

org.apache.nifi | nifi-slack-nar

설명

구성된 1개 이상의 Slack 채널에서 메시지를 검색합니다. 메시지는 JSON 형식으로 작성됩니다. 이 프로세서를 구성하고 Slack에서 메시지를 검색하도록 설정하는 방법에 대한 자세한 내용은 사용 / 추가 세부 정보를 참조하십시오.

태그

conversation, conversation.history, slack, social media, team, text, unstructured

입력 요구 사항

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으로 설정합니다

참고 항목