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