---
sourceDocument: 호주 API 참조
sourceDocumentLink: https://servicenow-prod.fluidtopics.net/r/ko-KR/api-reference

 Release :

    - australia

ft:locale :

    - ko-KR

ft:publication_title :

    - 호주 API 참조

ft:clusterId :

    - crapiref

bundleId :

    - crapiref

workflow :

    - Creator


---

# 다음을 사용하도록 생산자 이벤트 알림 프레임워크 구성 Hermes 메시징 서비스

# 다음을 사용하도록 생산자 이벤트 알림 프레임워크 구성 Hermes 메시징 서비스 {#ariaid-title1}

* 릴리스 버전: Australia
* 
* 업데이트 날짜 2026년 03월 12일
* 
* ![](https://www.servicenow.com/docs/portal-asset/ico-clock) 소요 시간: 6분

인스턴스에서 사용하는 Hermes 메시징 서비스 경우 Kafka 메시지-버스에 대한 생산자 이벤트 알림 프레임워크를 구성해야 합니다.

## 시작하기 전에

필요한 역할: 관리자

을 Hermes 메시징 서비스 활성화해야 합니다. 자세한 내용은 [Activating the Hermes Messaging Service](https://www.servicenow.com/docs/access?context=hermes-messaging-service-activation&version=australia&pubname=australia-servicenow-platform&ft:locale=en-US) 문서를 참조하십시오.  
다음 코드 조각에서는 를 사용하여 Hermes 메시징 서비스주제에 메시지를 보내는 데 필요한 요소를 구성하기 위해 호출해야 하는 HermesEventPublisher 메서드를 보여 줍니다. 그런 다음 [ProducerV2](https://servicenow-prod.fluidtopics.net/SxOldTlEAExjyz5bnQQxQA#ProducerV2ScopedAPI "ProducerV2 API는 인스턴스에서 ServiceNow Kafka 주제로 메시지를 게시하는 메서드를 제공합니다.") API가 호출되어 메시지를 보냅니다.

    publishEventToHermesKafka: function(tmfEventPayload) {
      if (gs.nil(tmfEventPayload)) {
        return;
      }
      this.publishMessageThroughProducerV2API(tmfEventPayload)

    },

    publishMessageThroughProducerV2API: function(message) {
      if (gs.nil(message)) return;
      var comptableTopicSysIds = this.fetchTopicsForMessage(message);
      if (gs.nil(comptableTopicSysIds)) return;

      for (var i = 0; i < comptableTopicSysIds.length; i++) {
        var partitionKey = this.fetchPartionKey(message);
        var headers = this.fetchMessageHeaders(message)
        try {
          var producer = new sn_ih_kafka.ProducerV2();
          producer.send(comptableTopicSysIds[i], partitionKey, JSON.stringify(message), false, headers);
        } catch (ex) {
          this._logger.logErr("Publishing message to Hermes Kafka Failed, error is: " + ex);
        }
      }
    },

## 프로시저

1. Hermes 메시징 서비스에 대한 보안 연결을 설정합니다.  
   자세한 내용은 [Set up a secure connection to the Hermes Messaging Service](https://www.servicenow.com/docs/access?context=set-up-secure-connection-to-hermes&version=australia&pubname=australia-servicenow-platform&ft:locale=en-US) 문서를 참조하십시오.
2. 에 메시지를 게시할 때 사용자 지정 주제 선택기 논리로 메서드의 기본 기능을 [HermesEventPublisherOOB - fetchTopicsForMessage(객체 메시지)](https://servicenow-prod.fluidtopics.net/KHh~i~cY7diYbwSDhNiGTA#HEPO-fetchTopicsForMessage_O "전달된 메시지와 연결된 모든 Kafka 주제를 반환합니다.") 재정의합니다 Hermes 메시징 서비스.  
   HermesEventPublisher - fetchTopicsForMessage() 메서드에서 지정된 메시지를 보낼 Kafka 주제를 결정하는 논리를 제공해야 합니다. 그런 다음 이러한 주제 기록의 sys_ids 배열로 반환합니다.

   메시지 페이로드의 속성을 기반으로 주제를 선택하거나 구현에서 단일 주제만 사용하는 경우 각 메시지에 대해 동일한 주제를 반환할 수 있습니다.  
   다음 예제에서는 전달된 각 메시지에 대해 동일한 주제 레코드 sys_id 반환하는 방법을 보여줍니다.

       // Return the same topic for all messages if your 
        // implementation only supports one kind of topic

       fetchTopicsForMessage: function(message) { 
       // Return the same sys_id for all passed messages which
       // implies that all of the messages are published to the same topic.
       return ['91564fc087f8351063151f473cbb35f8'];
       },

   다음 예시에서는 메시지의 이벤트 유형을 기준으로 메시지를 보낼 주제를 식별하는 방법을 보여줍니다.

       // Fetch the topic based on the message content. 
       // This could be based on the message domain type or the message event type.

       fetchTopicsForMessage: function(message) { 
       // Implement to return topic based on a message content
       // Implementor may decide a topic based on 'eventType' or any other attribute.

       var eventType = message.eventType;

       var topicSysIdsArr = this.fetchTopicBasedOnEventType(eventType);
       return topicSysIdsArr

       },

3. 메서드의 [HermesEventPublisherOOB - fetchPartionKey(객체 메시지)](https://servicenow-prod.fluidtopics.net/KHh~i~cY7diYbwSDhNiGTA#HEPO-fetchPartionKey_O "전달된 메시지와 연결된 파티션 키를 반환합니다.") 기본 기능을 사용자 지정 논리로 재정의하여 메시지를 Hermes 메시징 서비스.  
   다음 목록에는 반환할 수 있는 몇 가지 파티션 키 유형과 관련 이점이 포함되어 있습니다.
   * 자동으로 생성된 고유 ID입니다. 이 유형의 파티션 키를 사용하면 메시지가 주제 파티션 간에 균등하게 게시됩니다. 이것이 기본 구현입니다.
   * 메시지 이벤트 유형(또는 다른 메시지 속성)에 따른 고유 키입니다. 이 유형의 파티션 키는 해당 이벤트 유형(또는 다른 메시지 속성)의 메시지 순서를 보장합니다.
   * 동일한 파티션 키로 인해 메시지가 동일한 파티션에서 전송됩니다. 이 유형의 파티션 키는 Kafka 소비자 그룹 수준에서 메시지의 엄격한 시퀀싱을 보장합니다.

   다음 예제는 각 파티션 키에 대해 임의 ID를 반환하는 방법을 보여줍니다.

       fetchPartionKey: function(message) { 
       // Implement it for custom partition key 
       // Random message keys ensure better distribution of message across partitions. 
       // Same message keys ensure that message always goes to the same partition.   
       // This ensures strict sequencing of messages at the Kafka consumer group level. 
       return gs.generateGUID(); 
       },

   다음 예제에서는 메시지의 이벤트 유형에 따라 파티션 키를 반환하는 방법을 보여줍니다.

       // Implementation where the partition key is decided based on the event type.
       fetchPartionKey: function(message) { 

       var eventType = message.eventType;
       var partionKey = fetchPartionKeyForMessage(eventType);
       return partionKey;
       },

4. 메서드의 [HermesEventPublisherOOB - fetchMessageHeaders(객체 메시지)](https://servicenow-prod.fluidtopics.net/KHh~i~cY7diYbwSDhNiGTA#HEPO-fetchMessageHeaders_O "전달된 메시지와 연결된 메시지 헤더를 반환합니다.") 기본 기능을 사용자 지정 논리로 재정의하여 지정된 메시지의 헤더를 가져옴 통해 Hermes 메시징 서비스메시지를 게시합니다.  
   이러한 헤더에 대한 자세한 내용은 [Apache Kafka](https://kafka.apache.org/) 설명서를 참조하십시오.  
   다음 예제에서는 메시지의 이벤트 유형에 따라 헤더를 반환하는 방법을 보여줍니다.

       fetchMessageHeaders: function(message) { 
       // Returned headers are based on the event type passed in the message object. 
         var eventType = message.eventType;
         var headerObject = fetchHeadersBasedOnEventType(eventType);
         return headerObject;
       },


