I have created a Google Cloud Logging sink to BigQuery. When a log is first sent to the sink, a schema for the BQ table is generated as described here. So for example if I log JSON like this:
{
"foo": "bar",
"baz": 10
}
Then a schema like this (omitting much) is created:
jsonPayload RECORD
foo STRING
baz FLOAT
What I would like though is a schema like this:
jsonPayload JSON
because I would also like to have log messages with different jsonPayloads (different and currently unknown keys) in the same table.
I tried to change what I am logging to look like this thinking it might not parse the jsonPayload into a schema but it did not work.
{
"@type": "type.googleapis.com/google.protobuf.Struct",
"foo": "bar",
"baz": 10
}
It didn't treat the @type
field specially as I hoped it might but rather just renamed @type
to _type
and gave it the STRING
type.