为什么使用 V2 格式的 BigQuery 审核日志的列名称中包含“_v1_”?
Why do BigQuery audit logs that use the V2 format, have column names with "_v1_"?
我使用新的 V2 格式通过控制台打开了审计日志,并创建了一个接收器将它们导出回 BigQuery 进行分析:
导出到 BigQuery 的 table 在列名中都有“v1”,即使我选择了 V2 格式:
然后,当我尝试查询 table 时,因为列名超过 128 个字符,它会抛出错误:
为什么要使用 v1 命名模式导出审核日志,以及如何避免列名超过 128 个字符的限制?
how do I get around the column names being over the 128 character limit?
我认为问题不在于引用长命名列路径,而在于输出列的名称
因此,要解决 Legacy SQL 中的问题 - 您应该提供符合名称 cnvention 的别名。
或者只使用标准 SQL - 在这种情况下,别名默认是叶字段的名称(在这种情况下 totalBilledBytes
)
#legacySQL
SELECT
protopayload_google_cloud_audit_auditlog.
servicedata_google_cloud_bigquery_logging_v1_auditdata.
jobCompletedEvent.
job.
jobStatistics.
totalBilledBytes AS totalBilledBytes
FROM [yourTable]
或
#standardSQL
SELECT
protopayload_google_cloud_audit_auditlog.
servicedata_google_cloud_bigquery_logging_v1_auditdata.
jobCompletedEvent.
job.
jobStatistics.
totalBilledBytes
FROM `yourTable`
Why are the audit logs being exported using the v1 naming schema?
v2 格式的导出指的是 LogEntry 包含审核日志负载。
列名中的 'v1' 是 BigQuery AuditData 消息(特别是 google.cloud.bigquery.logging.v1.AuditData
协议缓冲区)的版本,它存储在日志条目的原型负载字段中。 public documentation,以 REST 风格描述,不公开版本。
我使用新的 V2 格式通过控制台打开了审计日志,并创建了一个接收器将它们导出回 BigQuery 进行分析:
导出到 BigQuery 的 table 在列名中都有“v1”,即使我选择了 V2 格式:
然后,当我尝试查询 table 时,因为列名超过 128 个字符,它会抛出错误:
为什么要使用 v1 命名模式导出审核日志,以及如何避免列名超过 128 个字符的限制?
how do I get around the column names being over the 128 character limit?
我认为问题不在于引用长命名列路径,而在于输出列的名称
因此,要解决 Legacy SQL 中的问题 - 您应该提供符合名称 cnvention 的别名。
或者只使用标准 SQL - 在这种情况下,别名默认是叶字段的名称(在这种情况下 totalBilledBytes
)
#legacySQL
SELECT
protopayload_google_cloud_audit_auditlog.
servicedata_google_cloud_bigquery_logging_v1_auditdata.
jobCompletedEvent.
job.
jobStatistics.
totalBilledBytes AS totalBilledBytes
FROM [yourTable]
或
#standardSQL
SELECT
protopayload_google_cloud_audit_auditlog.
servicedata_google_cloud_bigquery_logging_v1_auditdata.
jobCompletedEvent.
job.
jobStatistics.
totalBilledBytes
FROM `yourTable`
Why are the audit logs being exported using the v1 naming schema?
v2 格式的导出指的是 LogEntry 包含审核日志负载。
列名中的 'v1' 是 BigQuery AuditData 消息(特别是 google.cloud.bigquery.logging.v1.AuditData
协议缓冲区)的版本,它存储在日志条目的原型负载字段中。 public documentation,以 REST 风格描述,不公开版本。