ProducerV2 - 범위 지정됨

  • 릴리스 버전: Australia
  • 업데이트 날짜 2026년 03월 12일
  • 소요 시간: 4분
  • ProducerV2 API는 인스턴스에서 ServiceNow Kafka 주제로 메시지를 게시하는 메서드를 제공합니다.

    주:
    이 API에는 구독이 스트리밍 연결 필요합니다. 자세한 내용은 https://www.servicenow.com/now-platform/workflow-data-fabric.html 문서를 참조하십시오.
    이 API에는 스트림 커넥트 설치 관리자 플러그인(com.glide.hub.stream_connect.installer)이 필요 ServiceNow 하며 sn_ih_kafka 네임스페이스에서 실행됩니다.

    ProducerV2 - 보내기(문자열 topicSysID, 문자열 키, 문자열 메시지, 부울 isSync, 객체 헤더, 문자열 schemaID)

    지정된 메시지를 지정된 Kafka 주제로 보냅니다.

    표 1. 매개변수
    이름 유형 설명
    주제 시스템 ID 문자열 메시지를 게시할 주제의 Sys_id입니다. 주제는 Kafka 주제 [sys_kafka_topic] 테이블에 저장됩니다.
    문자열 주제에 있는 특정 파티션의 키 이름입니다.
    메시지 문자열 메시지 텍스트.
    isSync 부울 계속하기 전에 스크립트가 send 메서드가 완료될 때까지 기다려야 할지 여부를 나타내는 플래그입니다.
    유효한 값은 다음과 같습니다.
    • true: 단계가 완료될 때까지 기다렸다가 연결된 플로우를 계속 진행합니다.
    • false: 단계가 완료될 때까지 기다렸다가 연결된 플로우를 계속 진행하지 마십시오.
    헤더 객체 키-값 쌍으로 정의된 메시지의 헤더입니다.
    "headers": {
      "<key>": "<value>"
    }
    예: var headers = { "origin": "sn_business_rule" };
    • key: 문자열. 헤더의 이름입니다.
    • : 문자열. 헤더의 값입니다.
    schemaID 문자열 스키마 기록의 Sys_id입니다.

    스키마를 사용하여 일반 텍스트 메시지를 Avro 메시지로 변환하고 그 반대로 변환하는 경우 필요합니다. 스키마는 스트림 커넥트 스키마 [stream_connect_schema] 테이블에 저장됩니다. 자세한 내용은 Schema management in Stream Connect 문서를 참조하십시오.

    표 2. 반환
    객체 속성 설명
    배달 Kafka 생산자 제공. 매개변수에 대해 설정된 값을 반영합니다 isSync .
    가능한 값:
    • async - 비동기 전달
    • sync - 동기 전달

    데이터 유형: 문자열

    오프셋 Hermes Kafka의 주제 파티션에 있는 메시지의 오프셋입니다. 이 값은 동기 전달에 대해서만 반환됩니다.

    데이터 유형: 숫자

    파티션 메시지가 저장되는 주제의 파티션입니다. 이 값은 동기 전달에 대해서만 반환됩니다.

    데이터 유형: 숫자

    비동기 전달

    이 예에서는 f9d083f3ff610210ef7343d3653bf12e의 스키마를 사용하여 변경된 인시던트 정보를 sys_id sys_id 75135aa2ff0311105cf343d0653bf155인 Kafka 주제로 보내는 방법을 보여줍니다.

    var message = {
      'number': current.number.toString(),
      'short_description': current.short_description.toString(),
      'caller_id': current.caller_id.getDisplayValue(),
      'priority': current.priority.toString(),
      'state': current.state.toString()
    };
    
    var headers = {
        'origin': 'sn_business_rule'
    };
    
    var producer = new sn_ih_kafka.ProducerV2();
    producer.send('75135aa2ff0311105cf343d0653bf155', gs.generateGUID(), JSON.stringify(message), false, headers, 'f9d083f3ff610210ef7343d3653bf12e');
    

    동기식 제공

    이 예제에서는 Kafka 메시지의 반환 값을 가져오는 방법을 보여 줍니다.

    var message = "Defect fix";
     
    var producer = new sn_ih_kafka.ProducerV2();
     
    var response = producer.send('63820c0e1b492210dcff64e5604bcb93', gs.generateGUID(), JSON.stringify(message), true, null);
    gs.log("Partition was "+response.partition);
    gs.log("Offset was :"+response.offset);
    gs.log("Delivery was :"+response.delivery);
    출력:
    *** Script: Partition was 1
    *** Script: Offset was :258072
    *** Script: Delivery was :sync