evtctxdel

入力データが条件式と一致した場合に、指定したトピックとキーに該当するイベントコンテキストを削除します。

コマンドプロパティ

項目説明
コマンドタイプ変換クエリ
必要な権限なし
ライセンス使用量対象外
並列実行対応
分散実行データノードで実行(mapper)

構文

evtctxdel [topic=STR] [key=STR] [logtick=STR] [dynamic=BOOL] EXPR

オプション

topic=STR
イベントトピック名。削除するイベントコンテキストのトピックを指定します。dynamic=tの場合このオプションは無視されます。
key=STR
イベントコンテキストのキー値を抽出するフィールド名。dynamic=tの場合このオプションは無視されます。
logtick=STR
外部時計ホストフィールド名。指定すると入力レコードの該当フィールドからホスト名を抽出し、_timeフィールドの時間を基準にイベント時計を進めます。
dynamic=BOOL
tを指定するとtopickeyの値を入力レコードのフィールドから取得します。

対象

EXPR
イベントコンテキストを削除する条件式。条件式の評価結果がnullでもfalseでもない場合にイベントコンテキストを削除します。

入力フィールド

dynamic=tでない場合:

フィールドタイプ必須説明
keyオプションで指定したフィールド任意のタイプ必須イベントコンテキストのキー値。nullの場合はイベントコンテキストを削除しません

dynamic=tの場合:

フィールドタイプ必須説明
topicstring必須イベントトピック名。nullまたは文字列でない場合は_errorフィールドにエラーメッセージを割り当てます
key任意のタイプ必須イベントコンテキストのキー値。nullの場合は_errorフィールドにエラーメッセージを割り当てます

エラーコード

解析エラー
エラーコードメッセージ説明
23400topicオプションを設定してください。dynamic=tでないのにtopicオプションがない場合
23401keyオプションを設定してください。dynamic=tでないのにkeyオプションがない場合
23402evtctxdelコマンドを実行する条件式を指定してください。条件式が指定されていない場合
ランタイムエラー

N/A

説明

evtctxdelコマンドは入力レコードを走査し、各レコードが条件式と一致した場合に指定したトピックとキーに該当するイベントコンテキストをメモリストレージから削除します。evtctxaddコマンドで生成したイベントコンテキストを、特定の条件が満たされたときに明示的に削除する用途で使用します。

dynamic=tオプションを使用すると、トピックとキーを入力レコードのフィールドから動的に取得します。動的モードで必須フィールドが欠落しているか値が有効でない場合は、該当レコードの_errorフィールドにエラーメッセージを割り当てイベントコンテキストを削除しません。

入力レコードはイベントコンテキストの削除の有無に関わらず次のコマンドに渡されます。

使用例

  1. ログイン成功時にログイン失敗イベントコンテキストを削除する

    table duration=1h login_logs
    | evtctxdel topic=login_fail key=src_ip result == "success"
    

    ログインに成功すると、該当src_ipのログイン失敗イベントコンテキストを削除します。

  2. 動的モードでイベントコンテキストを削除する

    json "[{'topic': 'brute_force', 'key': '192.0.2.1', 'result': 'success'}]"
    | evtctxdel dynamic=t result == "success"
    

    入力レコードのtopickeyフィールドの値を使用してイベントコンテキストを動的に削除します。