MIDHermesProducer - 전역
MIDHermesProducer API는 에서 MID 서버 주제로 Hermes 데이터를 보내는 메서드를 제공합니다.
를 사용하는 MID Server ECC Queue 대신 를 Hermes Messaging Service 통해 데이터를 보내는 것이 인스턴스로 ServiceNow 데이터를 가져오는 더 효율적인 방법이 될 수 있습니다.
이 API에는 MID Hermes API(com.glide.mid.hermes_api) 플러그인이 ServiceNow 필요합니다. 호출 사용자에게 kafka_admin 역할이 있어야 합니다. 이 API를 호출하기 전에 다음 단계를 따르십시오.Configure the MID Hermes API Extension
워크플로우 스튜디오 에서 실행 MID 서버MID 서버되는 스크립트에서 이 API를 사용하십시오. (예: 백그라운드 스크립트) 또는필요한 런타임이MID로 설정된 작업 스크립트 단계입니다.
MIDHermesProducer - MIDHermesProducer()
주제에 메시지를 전송하기 위한 MIDHermesProducer 를 Hermes 작성합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| 없음 |
이 예시에서는 MIDHermesProducer를 인스턴스화합니다.
var producer = new MIDHermesProducer();
MIDHermesProducer - 보내기(객체 옵션)
MID 서버 에서 지정된 Hermes주제로 메시지를 보냅니다.
주제에 Hermes 메시지를 보내려면 4000-4050 포트 범위를 열어야 합니다. 자세한 내용은 Producing and consuming messages from a Kafka client 문서를 참조하십시오.
| 이름 | 유형 | 설명 |
|---|---|---|
| 옵션 | 객체 | 메시지에 대한 구성 매개변수를 포함합니다. |
| options.applicationId | 문자열 | 옵션입니다. 주제 라우팅에 대한 애플리케이션 식별자입니다. 제공된 경우 메시지는 snc.{ instance}를 사용합니다. {applicationId}입니다. {topic}, 그렇지 않으면 snc로 라우팅됩니다.{ instance}를 사용합니다. {주제}입니다. |
| options.onErrorCallback | 함수 | 옵션입니다. 메시지 전달이 실패할 경우 실행할 JavaScript 함수입니다. 이 함수는 문자열 errorMessage 및 문자열 errorType (정규화된 Java 예외 클래스 이름)의 두 가지 매개변수를 허용합니다. |
| 옵션.헤더 | 객체 | 옵션입니다. 메시지 헤더에 대한 키-값 쌍입니다. 에서 지원하는 Apache Kafka 모든 헤더가 유효합니다. |
| options.key | 문자열 | 옵션입니다. 에서 파티셔닝 Apache Kafka을 위한 메시지 키입니다. 동일한 키를 가진 메시지는 동일한 파티션으로 전송되어 순서가 보장됩니다. |
| 옵션.메시지 | 문자열 | 주제에 보낼 메시지의 내용입니다. 문자열로 형식화된 모든 값이 유효합니다. |
| 옵션.주제 | 문자열 | 메시지를 보낼 주제의 Hermes 이름입니다. 주: 인스턴스 프리픽스를 포함하지 마십시오. 자동으로 추가됩니다. |
| 유형 | 설명 |
|---|---|
| 없음 | 이 메서드는 값을 반환하지 않습니다. 메시지 배달은 비동기식입니다. 성공: 메시지가 Kafka 브로커에 Hermes 비동기적으로 전달됩니다. 배송 확인 로그를 확인합니다 MID 서버 . 실패: 메시지 전달에 실패하면 오류 상세 정보와 함께 선택적 콜백 함수(제공된 경우)가 호출됩니다. 일반적인 오류는 다음과 같습니다.
오류를 해결하기 위한 추가 단계:
|
이 예시에서는 주제에 Hermes 메시지를 보냅니다.
// Create producer instance
var producer = new MIDHermesProducer();
// Define error callback function
var errorCallback = function(errorMessage, errorType) {
gs.error("Message delivery failed: " + errorType + " - " + errorMessage);
};
// Send message with all optional parameters
producer.send({
topic: "order-events",
applicationId: "sn_streamconnect",
message: JSON.stringify({
orderId: "ORD-12345",
status: "completed",
timestamp: new Date().getTime()
}),
key: "customer-456",
headers: {
"content-type": "application/json",
"source": "mid-server",
"version": "1.0"
},
onErrorCallback: errorCallback
});
메시지는 비동기적으로 전송됩니다. 배송 확인 로그를 확인합니다 MID 서버 .