evtctxdel
入力データが条件式と一致した場合に、指定したトピックとキーに該当するイベントコンテキストを削除します。
コマンドプロパティ
| 項目 | 説明 |
|---|---|
| コマンドタイプ | 変換クエリ |
| 必要な権限 | なし |
| ライセンス使用量 | 対象外 |
| 並列実行 | 対応 |
| 分散実行 | データノードで実行(mapper) |
構文
evtctxdel [topic=STR] [key=STR] [logtick=STR] [dynamic=BOOL] EXPR
オプション
topic=STR- イベントトピック名。削除するイベントコンテキストのトピックを指定します。
dynamic=tの場合このオプションは無視されます。 key=STR- イベントコンテキストのキー値を抽出するフィールド名。
dynamic=tの場合このオプションは無視されます。 logtick=STR- 外部時計ホストフィールド名。指定すると入力レコードの該当フィールドからホスト名を抽出し、
_timeフィールドの時間を基準にイベント時計を進めます。 dynamic=BOOLtを指定するとtopicとkeyの値を入力レコードのフィールドから取得します。
対象
EXPR- イベントコンテキストを削除する条件式。条件式の評価結果がnullでもfalseでもない場合にイベントコンテキストを削除します。
入力フィールド
dynamic=tでない場合:
| フィールド | タイプ | 必須 | 説明 |
|---|---|---|---|
keyオプションで指定したフィールド | 任意のタイプ | 必須 | イベントコンテキストのキー値。nullの場合はイベントコンテキストを削除しません |
dynamic=tの場合:
| フィールド | タイプ | 必須 | 説明 |
|---|---|---|---|
topic | string | 必須 | イベントトピック名。nullまたは文字列でない場合は_errorフィールドにエラーメッセージを割り当てます |
key | 任意のタイプ | 必須 | イベントコンテキストのキー値。nullの場合は_errorフィールドにエラーメッセージを割り当てます |
エラーコード
解析エラー
| エラーコード | メッセージ | 説明 |
|---|---|---|
| 23400 | topicオプションを設定してください。 | dynamic=tでないのにtopicオプションがない場合 |
| 23401 | keyオプションを設定してください。 | dynamic=tでないのにkeyオプションがない場合 |
| 23402 | evtctxdelコマンドを実行する条件式を指定してください。 | 条件式が指定されていない場合 |
ランタイムエラー
N/A
説明
evtctxdelコマンドは入力レコードを走査し、各レコードが条件式と一致した場合に指定したトピックとキーに該当するイベントコンテキストをメモリストレージから削除します。evtctxaddコマンドで生成したイベントコンテキストを、特定の条件が満たされたときに明示的に削除する用途で使用します。
dynamic=tオプションを使用すると、トピックとキーを入力レコードのフィールドから動的に取得します。動的モードで必須フィールドが欠落しているか値が有効でない場合は、該当レコードの_errorフィールドにエラーメッセージを割り当てイベントコンテキストを削除しません。
入力レコードはイベントコンテキストの削除の有無に関わらず次のコマンドに渡されます。
使用例
-
ログイン成功時にログイン失敗イベントコンテキストを削除する
table duration=1h login_logs | evtctxdel topic=login_fail key=src_ip result == "success"ログインに成功すると、該当
src_ipのログイン失敗イベントコンテキストを削除します。 -
動的モードでイベントコンテキストを削除する
json "[{'topic': 'brute_force', 'key': '192.0.2.1', 'result': 'success'}]" | evtctxdel dynamic=t result == "success"入力レコードの
topicとkeyフィールドの値を使用してイベントコンテキストを動的に削除します。