Open Message Bus를 사용하도록 Producer Event Notification Framework 구성

  • 릴리스 버전: Xanadu
  • 업데이트 날짜 2024년 08월 01일
  • 읽기3분
  • 인스턴스에 Open Message Bus를 배치했거나 배치할 계획인 경우 이 메시지 버스에 대해 Producer Event Notification Framework를 구성해야 합니다. 이 메시지 버스는 클라우드 및 온프레미스 인스턴스 모두에 배포할 수 있습니다.

    시작하기 전에

    필요한 역할: admin

    열린 메시지 버스를 사용한 메시지 발행에 대한 자세한 내용은 을 참조하십시오 Producing outbound API notifications using the open message bus.

    프로시저

    1. 현재 메시지 버스의 주제를 인스턴스와 동기화합니다 ServiceNow .

      항목 동기화에 대한 자세한 내용은 을 참조하십시오 Producing outbound API notifications using the open message bus.

    2. 미리 구성된 REST 조치로 직접 메시지를 송신하는 방법을 사용자 지정합니다 OpenMessageBusEventPublisherOOB - publishMessageToComptibleRestProxy(Object tmfEventPayload, Array compatibleTopicArr) .
      이 메서드는 스포크 선택기를 사용하여 사용자 지정 메시지 플랫폼의 REST 프록시로 메시지를 보내는 작업을 담당합니다. 사용자 정의 메시지 플랫폼은 메시지가 게시되는 메시지 버스입니다.
      다음 코드 예제에서는 스포크 선택기 대신 스포크 선택기 플로우와 사용자 지정 작업을 사용하도록 이 방법을 사용자 지정하는 방법을 보여줍니다.
      publishMessageToComptibleRestProxy: function(tmfEventPayload, compatibleTopicArr) {
      
        if (gs.nil(tmfEventPayload) || gs.nil(compatibleTopicArr)) {
          return;
        }
        for (var i = 0; i < compatibleTopicArr.length; i++) {
      
          // Invoking spoke selector flow which will in turn pick the rest proxy based on the input condition
          var topicGr = new GlideRecord(Constants.TABLE_TOPIC);
          topicGr.get(compatibleTopicArr[i]);
          if (!topicGr.isValidRecord()) {
            this._logger.debug("Invalid topic sys_id passed to open message publisher. Sys_id passed is " + compatibleTopicArr[i]);
            return;
          }
      
          // NOTE THAT IN THIS IMPLEMENTATION INVOKES A CUSTOM ACTION INSTEAD OF SPOKE SELECTOR
          var restProxyResponse = new sn_appss.RequestAPI(spokeSelectorRequestTypeId, spokeSelectorRequestTypeInputMap, spokeSelectorRequestTypeContextObject).execute();
      
          // var restProxyResponse = sn_fd.FlowAPI.executeActionQuick('sn_api_notif_mgmt.demo_topic_rest_proxy_response', spokeSelectorRequestTypeInputMap);
          var responseCode = restProxyResponse.response.code;
          if (Constants.REGISTRATION_RESPONSE_SUCCESS_CODES.indexOf(responseCode) == -1) {
            this._logger.logErr("Publishing message to Message bus rest proxy failed with HTTP response code " + responseCode);
          }
        }
      },
    3. 주제에 대한 REST 프록시를 구성합니다.
      스포크가 구성되면 스포크에 구성된 주제에 대해 지정된 REST 프록시에 메시지가 게시됩니다.
      1. 다음으로 이동 모두 > 스포크 선택기 > 요청 유형
      2. 주제 REST 프록시 아웃바운드 요청을 선택합니다.
      3. 통합 요청 정의 탭을 선택합니다.
      4. 통합 요청 정의 항목을 생성하여 스포크를 구성합니다.
        추가 지침은 데모 REST 프록시 응답 정의 항목을 참조할 수도 있습니다.