Docs Menu
Docs Home
/ /

sp.processor.modify() (mongosh 방법)

sp.processor.modify()

현재 Stream Processing Workspace 에서 명명된스트림 프로세서 를 수정합니다.

이 메서드는 Atlas Stream Processing Workspaces에서 지원됩니다.

sp.processor.modify() 메서드의 구문은 다음과 같습니다.

sp.processor.modify({
pipeline: [
<pipeline>
],
name: <name>,
dlq: {
connectionName: <connectionName>,
db: <db>,
coll: <coll>
},
resumeFromCheckpoint: <resumeFromCheckpoint>,
tier: <tier>
})

sp.processor.modify() 은(는) 다음 필드를 사용합니다.

필드
유형
필요성
설명

pipeline

배열

옵션

마지막 단계가 싱크 단계인 스트리밍 데이터에 적용할 집계 단계의 배열입니다. 자세한 내용은 Stream Processing 집계를 참조하세요.

name

문자열

옵션

스트림 프로세서의 새 이름입니다.

dlq

객체

옵션

스트림 프로세서에 대한 데드 레터 큐 를 설정하는 객체입니다. 기존 데드 레터 큐를 제거하려면 빈 객체({})를 전달합니다.

dlq.connectionName

문자열

조건부

연결 레지스트리의 연결을 식별하는 레이블입니다. 이 연결은 MongoDB Atlas 클러스터를 참조해야 합니다. 데드 레터 큐를 설정할 때 필수입니다.

dlq.db

문자열

조건부

dlq.connectionName에 지정된 클러스터에 있는 MongoDB Atlas 데이터베이스의 이름입니다. 데드 레터 큐를 설정할 때 필수 사항입니다.

dlq.coll

문자열

조건부

dlq.db에 지정된 데이터베이스에 있는 컬렉션 이름입니다. 데드 레터 큐를 설정할 때 필수 사항입니다.

resumeFromCheckpoint

부울

옵션

수정된 스트림 프로세서가 마지막 체크포인트에서 다시 시작하는지 여부를 지정하는 플래그. 기본적으로 이 필드는 true입니다. false로 설정하면 프로세서는 요약 통계만 유지합니다.

tier

문자열

옵션

스트림 프로세서에 할당할 계층. 이 옵션을 선언하지 않으면 프로세서는 현재 계층을 유지합니다. 다음 값 중 하나여야 합니다.

  • SP2

  • SP5

  • SP10

  • SP30

  • SP50

자세히 학습계층을 참조하세요.

이 메서드를 호출하기 전에 스트림 프로세서는 STOPPED 상태여야 합니다. pipeline 인수는 변경하지 않는 단계를 포함하여 프로세서의 기존 파이프라인 전체를 대체합니다.

기본적으로 수정된 프로세서는 마지막 체크포인트에서 다시 시작됩니다. resumeFromCheckpointfalse(으)로 설정하면 수정된 프로세서는 요약 통계만 유지합니다. 열려 있는 Windows가 있는 프로세서를 수정하면 Atlas Stream Processing은 업데이트된 파이프라인에서 해당 Windows를 다시 계산합니다.

스트림 프로세서를 수정할 때 적용되는 제한 사항에 대해서는 스트림 프로세서 수정을 참조하십시오.

sp.processor.modify()을(를) 실행하려면 atlasAdmin 역할이 있어야 합니다.

예시에서는 중지된 스트림 프로세서 solarDemo 을 변경하여 $match 단계를 추가하고, 이름을 변경하고, 계층을 업데이트하고, 데드 레터 큐를 구성합니다.

sp.solarDemo.modify({
pipeline: [
{ $source: { connectionName: "sample_stream_solar" }},
{ $match: { device_id: "device_0" }},
{ $merge: { into: {
connectionName: "cluster0",
db: "testout",
coll: "testout2"
}}}
],
name: "solarDemoRenamed",
dlq: {
connectionName: "cluster0",
db: "testout",
coll: "dlq"
},
resumeFromCheckpoint: true,
tier: "SP10"
})
{ ok: 1 }

이름을 바꾸는 프로세서를 시작한 후 sp.listStreamProcessors() 을 실행하여 이름, 계층 및 데드 레터 큐 변경 사항을 확인합니다.

sp.solarDemoRenamed.start()
sp.listStreamProcessors()
[
{
id: '6a39b08e6d9040e1cef8e31f',
name: 'solarDemoRenamed',
lastModified: ISODate('2026-06-22T22:00:46.858Z'),
state: 'STARTED',
tier: 'SP10',
errorMsg: '',
workers: [ 'worker-5f4c5bbc9d-7hg2q' ],
pipeline: [
{ '$source': { connectionName: 'sample_stream_solar' } },
{ '$match': { device_id: 'device_0' } },
{
'$merge': {
into: {
connectionName: 'cluster0',
db: 'testout',
coll: 'testout2'
}
}
}
],
lastStateChange: ISODate('2026-06-22T22:01:16.835Z'),
dlq: {
connectionName: 'cluster0',
db: 'testout',
coll: 'dlq'
}
}
]

sp.processor.sample() 를 실행하여 파이프라인 변경 사항을 확인합니다.

sp.solarDemoRenamed.sample()
{
device_id: 'device_0',
group_id: 9,
timestamp: '2026-06-22T22:01:25.828+00:00',
max_watts: 450,
event_type: 0,
obs: {
watts: 122,
temp: 18
}
}
{
device_id: 'device_0',
group_id: 3,
timestamp: '2026-06-22T22:01:26.828+00:00',
max_watts: 450,
event_type: 0,
obs: {
watts: 377,
temp: 7
}
}

돌아가기

sp.processor.drop

이 페이지의 내용