定義
現在のストリーム プロセシング ワークスペースにある という名前の Stream プロセッサ を変更します。
互換性
このメソッドは Atlas Stream Processing ワークスペース でサポートされています。
構文
sp.processor.modify()メソッドの構文は次のとおりです。
sp.processor.modify({ pipeline: [ <pipeline> ], name: <name>, dlq: { connectionName: <connectionName>, db: <db>, coll: <coll> }, resumeFromCheckpoint: <resumeFromCheckpoint>, tier: <tier> })
コマンドフィールド
sp.processor.modify() は、次のフィールドがあります。
フィールド | タイプ | 必要性 | 説明 |
|---|---|---|---|
| 配列 | 任意 | ストリーミングデータに適用する集計ステージの配列。最後のステージは Sink ステージである必要があります。詳しくは、「 Atlas Stream Processing の集計 」を参照してください。 |
| string | 任意 | ストリーム プロセッサの新しい名前。 |
| オブジェクト | 任意 | ストリーム プロセッサ用に デッドレターキュー (DLQ)を設定するオブジェクト。既存のデッドレターキュー (DLQ)を削除するには、空のオブジェクト( |
| string | 条件付き | 接続レジストリ内の接続を識別するラベル。この接続はMongoDB Atlasクラスターを参照必要があります。デッドレターキュー (DLQ)を設定する場合は必須です。 |
| string | 条件付き |
|
| string | 条件付き |
|
| ブール値 | 任意 | 変更されたストリーム プロセッサが最後のチェックポイントから再開するかどうかを指定するフラグ。デフォルトでは 、このフィールドは |
| string | 任意 | ストリーム プロセッサに割り当てる階層。このオプションを宣言しない場合、プロセッサは現在の階層を保持します。次のいずれかの値である必要があります。
詳細については、階層を参照してください。 |
動作
このメソッドを呼び出す前に、ストリーム プロセッサが STOPPED 状態になっている必要があります。 pipeline 引数は、変更していないステージを含むプロセッサの既存のパイプライン全体を置き換えます。
デフォルトでは 、変更されたプロセッサは最後のチェックポイントから再開します。 resumeFromCheckpoint を false に設定すると、変更されたプロセッサは概要統計のみを保持します。オープン ウィンドウを持つプロセッサを変更すると、Atlas Stream Processing はアップデートされたパイプラインでそれらのウィンドウを再計算します。
ストリーム プロセッサを変更するときに適用される制限については、「 ストリーム プロセッサの変更 」を参照してください。
アクセス制御
sp.processor.modify()を実行するには、atlasAdmin ロールが必要です。
例
この例では、solarDemo という名前の停止したストリーム プロセッサを変更して、$match ステージを追加し、名前を変更して、その階層を更新して、デッドレターキュー (DLQ)を構成します。
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() を実行して、名前、階層、デッドレターキュー (DLQ)の変更を確認します。
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 } }