AppEngine アプリケーション ログ ( Google Cloud Logging を介して自動的に BigQuery にエクスポート) を検索するために使用する BigQuery クエリを最適化しようとしましたが、理解できないエラーが発生しました。
SELECT
protoPayload.requestId,
protoPayload.line.logMessage
FROM (
SELECT
protoPayload.requestId AS matchingRequestId
FROM
TABLE_DATE_RANGE(MyProject_Logs.appengine_googleapis_com_request_log_, DATE_ADD(CURRENT_TIMESTAMP(), -1, 'HOUR'), CURRENT_TIMESTAMP())
WHERE
protoPayload.resource CONTAINS '/url'
AND protoPayload.line.logMessage CONTAINS 'criteria'
LIMIT 50)
WHERE
protoPayload.requestId = matchingRequestId
結果は
Query Failed
Error: Field 'protoPayload.requestId' not found.
Job ID: myProject:job_DZpCc0u52LBFh8DFL0nDCsizo8o
protoPayload.requestId
フィールドを使用するサブクエリだけを実行しようとすると、正常に動作するため、このエラーは意味がありません。
補足として、このSOは私が達成しようとしていることにより良い答えを出しますが、クエリでエラーが発生する原因はまだ知りたいです。