스크립트 소비자 구성
스크립트를 사용하여 Kafka 환경에서 데이터를 임포트하고 처리합니다.
시작하기 전에
- 필요한 역할: integration_hub_admin
- 이 소비자는 구독이 스트리밍 연결 필요합니다. 자세한 내용은 https://www.servicenow.com/now-platform/workflow-data-fabric.html 문서를 참조하십시오.
- ServiceNow 스트림 커넥트 설치 관리자 [com.glide.hub.stream_connect.installer] 플러그인이 필요합니다.
이 태스크 정보
소비자를 구성하려면 두 개의 기록을 생성해야 합니다.
- 데이터를 임포트하고 처리하는 방법을 지정하는 소비자 기록입니다.
- 소비자에 대한 데이터 스트림을 정의하는 Kafka 스트림에 대한 기록입니다.
프로시저
예
- timestampEpoch, 데이터 유형: long
- 파티션, 데이터 유형: int
- 오프셋, 데이터 유형: long
- dataCenter, 데이터 유형: 문자열
(function process(messages) {
for (var i = 0; i < messages.length; i++) {
var m = messages[i];
var headerParts = [];
for (var j = 0; j < m.headers.length; j++) {
headerParts.push('header[' + j + ']_key=' + m.headers[j].key + ' | header[' + j + ']_value=' + m.headers[j].value);
}
var line = [
'message_key=' + m.key,
'message_body=' + m.message,
'partition=' + m.metadata.partition,
'offset=' + m.metadata.offset,
'datacenter_id=' + m.metadata.datacenter_id,
'utc_timestamp=' + m.utc_timestamp,
'timestamp_epoch=' + m.metadata.timestamp_epoch
].concat(headerParts).join(' | ');
gs.info('[Kafka Message] ' + line);
}
})(messages);
utc_timestamp 필드를 GlideDateTime으로 변환하려면 다음 예제를 참조하십시오.
// Example 1
var timestamp = new GlideDateTime("2025-08-19 23:31:45");
console.log(timestamp.getValue());
// Example 2
var timestamp2 = new GlideDateTime();
timestamp2.setNumericValue(1755646305218);
console.log(timestamp2.getValue());
// Example 3
var timestamp3 = new GlideDateTime("1970-01-01 00:00:00");
timestamp3.add(1755646305218);
console.log(timestamp3.getValue());
다음에 수행할 작업
Kafka 스트림 생성 이 소비자의 경우. 스트림이 활성화되면 Kafka 환경에서 메시지 수신을 시작할 수 있습니다.