Kafka 메시지 트리거 및 스크립트 소비자를 사용하여 메시지 소비

  • 릴리스 버전: Zurich
  • 업데이트 날짜 2025년 07월 31일
  • 소요 시간: 4분
  • Kafka 메시지 트리거 워크플로우 스튜디오 와 스크립트 소비자를 사용하여 Hermes에서 메시지를 검색합니다.

    시작하기 전에

    프로시저

    1. 메시지를 소비할 주제를 만듭니다.
      1. 다음 명령을 사용하여 Hermes에서 주제를 생성합니다.
        bin/kafka-topics.sh --create --command-config config/bootcamp.properties  --bootstrap-server <instance name>.service-now.com:4000,<instance name>.service-now.com:4001,<instance name>.service-now.com:4002, <instance name>.service-now.com:4003 --topic snc.<instance name>.topic1
        <인스턴스 이름>을 인스턴스 이름으로 바꿔야 합니다.
      2. 주제를 보려면 인스턴스에 로그인하여 모두 > 통합 허브 > 스트림 커넥트 > 주제.
        주:
        주제를 생성하는 데 약 10분이 걸립니다.
    2. 주제의 메시지를 사용하는 플로우 트리거를 생성합니다.
      1. 다음으로 이동 모두 > 프로세스 자동화 > 플로우 디자이너.
      2. 선택 새로 작성 > 플로우.
      3. 플로우 속성 양식에서 플로우 이름을 입력한 다음 제출을 입력합니다.
        이 예에서는 Topic1 Consumer라는 이름을 사용합니다.
      4. 트리거 섹션에서 트리거 추가를 선택한 다음, 트리거 유형으로 Kafka 메시지를 선택합니다.
        Kafka 메시지는 플로우에 대한 트리거 유형입니다.
      5. Topic1 주제를 선택합니다.
        주제 필드에 대해 주제1을 선택합니다.

        돋보기 아이콘을 사용하여 사용 가능한 주제 목록을 볼 수 있습니다.

      6. 플로우의 작업 섹션에서 다음으로 이동합니다. 작업, 플로우 논리 또는 하위 플로우 추가 > 플로우 논리 > For Each.
      7. 메시지 데이터 알약을 항목 필드로 드래그한 다음, 완료를 선택하십시오.
      8. 플로우의 작업 섹션에서 다음으로 이동합니다. 작업, 플로우 논리 또는 하위 플로우 추가 > 작업 > ServiceNow 코어 > 로그.
      9. 페이로드 데이터 알약을 메시지 필드로 끌어온 다음, 완료를 선택합니다.
        주제1: 소비자 플로우 트리거.
      10. 플로우 트리거를 저장합니다.
      11. 설정 [sys_flow_execution_setting] 테이블로 이동하여 이 플로우에 대한 보고를 활성화합니다.
      12. 새 항목을 생성하고 위에서 생성된 플로우에 대한 보고를 활성화합니다.
        플로우에 대한 보고를 사용할 수 있도록 새 설정 기록을 생성합니다.
      13. 플로우로 다시 이동하여 활성화를 선택합니다.
      14. 토픽 구독을 보려면 다음으로 이동합니다. 모두 > 통합 허브 > 스트림 커넥트 > 구독.
        topic1 주제에 대한 구독입니다.
    3. Kafka 명령줄 도구를 사용하여 주제에 메시지를 게시합니다.
      1. 다음 명령을 실행하여 주제에 메시지를 게시합니다.
        bin/kafka-console-producer.sh --topic snc.<instance name>.topic1  --producer.config  config/bootcamp.properties  --bootstrap-server <instance name>.service-now.com:4000,<instance name>.service-now.com:4001,<instance name>.service-now.com:4002,<instance name>.service-now.com:4003

        <인스턴스 이름>을 인스턴스 이름으로 바꿔야 합니다.

        이 명령은 메시지를 입력하라는 메시지를 표시합니다. 샘플 메시지를 몇 개 추가합니다. 이 예시에서는 다음 메시지를 사용합니다.
        • 테스트 메시지1
        • 테스트 메시지 2
        • 테스트 메시지3
        약 1분 후에 메시지를 받게 됩니다.
      2. 플로우로 다시 이동하여 실행을 선택합니다.
        실행을 선택하여 플로우 실행 뷰로 이동합니다.
      3. 플로우 실행을 엽니다.
        플로우에 대한 실행 상세 정보.
      4. 이 구독에 대한 통계를 보려면 다음으로 이동합니다. 모두 > 통합 허브 > 스트림 커넥트 > 구독, 구독을 열고 통계 보기로 이동합니다.
        구독에 대한 Kafka 통계입니다.
    4. 주제의 메시지를 사용할 스크립트 소비자를 만듭니다.
      1. 다음으로 이동 통합 허브 > 소비자 > 스크립트 소비자.
      2. 새로 만들기를 선택합니다.
      3. 이름 필드에 스크립트 소비자의 이름을 입력합니다.
        이 예에서는 Topic1 Consumer를 사용합니다.
      4. 스크립트 상자에 다음 논리를 추가하여 메시지를 기록하도록 스크립트를 설정합니다.
        for (var i = 0; i < messages.length; i++) {
              gs.info('Received message ' + JSON.stringify(messages[i].message));
         }
        
        이벤트 소비자 필드에 스크립트를 표시하는 Kafka 스크립트 소비자입니다.
      5. 양식을 저장합니다.
      6. 관련 링크 섹션에서 새로 만들기를 선택하여 메시지를 사용할 Kafka 스트림을 추가합니다.
      7. Kafka 스트림 양식에서 다음 필드 값을 설정합니다.
        • Topic1 스트림대한 이름입니다.
        • 주제를 앞서 작성한 주제인 topic1에 대한 주제입니다.
        • 최대 동시성은1입니다.
        • 소비하기 시작주제에 저장된 모든 메시지입니다. 이 옵션을 사용하면 이 주제에 이미 게시된 메시지를 읽을 수 있습니다.
        • 자동으로 최적화를 위한 메시지 처리.
        Kafka 스트림 기록입니다.
      8. 관련 링크 아래에서 활성화 링크를 선택합니다.
        활성화된 구독을 볼 수 있어야 합니다.
      9. 메시지를 보려면 다음으로 이동하십시오. 모두 > 시스템 로그 > 시스템 로그 받은 메시지로 시작하는 메시지를 필터링합니다.
        받은 메시지의 목록입니다.
      10. 1분 후에 모든 메시지가 표시되어야 합니다.

    다음에 수행할 작업

    ETL 및 변환 맵 소비자를 사용하여 데이터 임포트.