정의
현재 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() 은(는) 다음 필드를 사용합니다.
필드 | 유형 | 필요성 | 설명 |
|---|---|---|---|
| 배열 | 옵션 | 마지막 단계가 싱크 단계인 스트리밍 데이터에 적용할 집계 단계의 배열입니다. 자세한 내용은 Stream Processing 집계를 참조하세요. |
| 문자열 | 옵션 | 스트림 프로세서의 새 이름입니다. |
| 객체 | 옵션 | 스트림 프로세서에 대한 데드 레터 큐 를 설정하는 객체입니다. 기존 데드 레터 큐를 제거하려면 빈 객체( |
| 문자열 | 조건부 | 연결 레지스트리의 연결을 식별하는 레이블입니다. 이 연결은 Atlas 클러스터를 참조해야 합니다. 데드 레터 큐를 설정할 때 필수입니다. |
| 문자열 | 조건부 |
|
| 문자열 | 조건부 |
|
| 부울 | 옵션 | 수정된 스트림 프로세서가 마지막 체크포인트에서 다시 시작하는지 여부를 지정하는 플래그. 기본적으로 이 필드는 |
| 문자열 | 옵션 | 스트림 프로세서에 할당할 계층. 이 옵션을 선언하지 않으면 프로세서는 현재 계층을 유지합니다. 다음 값 중 하나여야 합니다.
|
행동
이 메서드를 호출하기 전에 스트림 프로세서는 STOPPED 상태여야 합니다. pipeline 인수는 변경하지 않는 단계를 포함하여 프로세서의 기존 파이프라인 전체를 대체합니다.
기본적으로 수정된 프로세서는 마지막 체크포인트에서 다시 시작됩니다. resumeFromCheckpoint 을 false(으)로 설정하면 수정된 프로세서는 요약 통계만 유지합니다. 열려 있는 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 } }