コマンド監視
Overview
このガイドでは、Rust ドライバーを使用して、ドライバーが MongoDB 配置に送信する コマンドの結果を監視する方法を説明します。
アプリケーション内のコマンド イベントに関する情報を使用することも、コマンドを監視して、ドライバーがコマンドを実行する方法の詳細を学習することもできます。
このガイドには、次のセクションが含まれています。
イベントの説明では、ドライバーが生成できるコマンド イベントについて説明します。
イベント サブスクリプションの例では、コマンド イベントをサブスクライブする方法を示すサンプル コードが提供されています。
サンプルイベント ドキュメントでは、各コマンド イベントのサンプルが提供されています。
追加情報では、このガイドで言及されている型とメソッドのリソースとAPIドキュメントへのリンクを提供します。
イベントの説明
次のコマンド イベントを監視できます。
イベント名 | 説明 |
---|---|
コマンドの開始時に作成されます。 | |
コマンドが成功したときに作成されます。 | |
コマンドが成功しない場合に作成されます。 |
イベント モニタリングの例
command_event_handler
クライアント オプションの値として EventHandler
インスタンスを割り当てることで、コマンド イベントをモニタリングできます。 すべてのコマンド イベントを処理する を構築するには、 メソッドまたはEventHandler
callback()
async_callback()
メソッドを使用します。
次の例では、MongoDB 配置に接続し、クライアントに コマンド イベントを監視するように指示して、各イベントを出力します。
let mut client_options = ClientOptions::parse("<connection string>").await?; client_options.command_event_handler = Some(EventHandler::callback(|ev| println!("{:?}", ev))); let client = Client::with_options(client_options)?; // ... perform actions with the client to generate events
イベント ドキュメントの例
次のセクションでは、コマンド モニタリング イベントの各タイプのサンプル出力を示します。
コマンド開始
CommandStartedEvent { request_id: 12, db: "testdb", command_name: "find", connection: ..., command: ..., service_id: ... }
コマンドSucceededEvent
CommandSucceededEvent { duration: ..., reply: ..., command_name: "find", request_id: 12, connection: ..., service_id: ..., }
コマンドFailedEvent
CommandFailedEvent { duration: ..., command_name: "find", failure: ..., request_id: 12, connection: ..., service_id: ..., }
詳細情報
MongoDB 配置のモニタリングの詳細については、「 MongoDB をモニタリングする方法 」に関する記事を参照してください。
MongoDB 操作の実行の詳細については、 CRUD 操作のガイドをご覧ください。
API ドキュメント
このガイドで言及されているメソッドとタイプの詳細については、次のAPIドキュメントを参照してください。