Cloud Logging でアプリが出力するログの中から、特定の JSON フィールド(例: user_id が "abc123")を含むログのみをフィルタリングするクエリとして正しいものはどれですか?
- A. log.user_id="abc123"
- B. jsonPayload.user_id="abc123"
- C. labels.user_id="abc123"
- D. resource.labels.user_id="abc123"
解答と解説を見る
正解: B
アプリが JSON 形式でログを出力している場合、Cloud Logging は JSON フィールドを jsonPayload 以下のパスでアクセスできます。jsonPayload.user_id="abc123" と記述することで、JSON 本文内の user_id フィールドが abc123 のログのみをフィルタリングできます。log.user_id は Cloud Logging のクエリ構文として存在しません。labels はログエントリに付与されたラベルフィールドで、JSON ペイロードの内容とは別です。resource.labels はリソース(GCE インスタンス・GKE Pod など)のメタデータラベルで、アプリが出力する JSON の内容ではありません。