AWS CloudWatch Log Insightsを使用して、Lambdaからデータを照会する必要があります。 AWSによって提供されるクエリの構文は明確にはありません。
サポートのみ(count_distinct(fieldName))
参考文献 https://docs.aws.amazon.com/amazoncloudwatch/latest/logs/cwl_querysyntax.html
データ例データ
列#@timestamp @メッセージ
1 2020-02-17T13:33:29.049 + 07:00 [情報] 2020パーティションキー:ABC12345_A_
22020-02-17T11:32:29.049 + 07:00 [情報] 2020パーティションキー:ABC12345_B_
3 2020-02-17T11:31:29.049 + 07:00 [情報] 2020パーティションキー:ABC12345_B_
4 2020-02-17T11:30:29.049 + 07:00 [情報] 2020パーティションキー:ABC12345_C_
5 2020-02-17t11:29:29.049 + 07:00 [情報] 2020パーティションキー:ABC12345_A_
予想される結果
1 2020-02-17T13:33:29.049 + 07:00 [情報] 2020パーティションキー:ABC12345_A_
22020-02-17T11:32:29.049 + 07:00 [情報] 2020パーティションキー:ABC12345_B_
4 2020-02-17T11:30:29.049 + 07:00 [情報] 2020パーティションキー:ABC12345_C_
使用法通常のSQL構文が以下のようになります。
uUID(Time)からDISTINCT(UUID)をTABLE_NAMEグループからの時間としてMAX(TIME)をTIME DESCで順に選択
statsコマンドの非集約関数以下のようなものです。
stats latest(@timestamp) as @latestTimestamp by @message
| display @latestTimestamp, @message
_
| .. |を使うことができますstats count(*)によってfieldName
これは異なるフィールド名をリストするように機能します