首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么使用BigQuery格式的V2审计日志有带有"_v1_“的列名?

为什么使用BigQuery格式的V2审计日志有带有"_v1_“的列名?
EN

Stack Overflow用户
提问于 2017-03-09 02:01:17
回答 2查看 580关注 0票数 1

我使用新的V2格式通过控制台打开了审计日志,并创建了一个接收器将它们导出回BigQuery进行分析:

导出到BigQuery的表在列名中都有"v1“,尽管我选择了V2格式:

然后,当我试图查询表时,因为列名超过128个字符,它会抛出一个错误:

为什么要使用v1命名模式导出审计日志,以及如何绕过超过128个字符限制的列名?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-03-09 04:48:14

如何避免列名超过128个字符的限制?

我认为问题不在于引用长名称的列路径,而在于输出列的名称

因此,要在Legacy SQL中解决这个问题,您应该提供符合名称推荐的别名。

或者只使用标准SQL --在本例中,别名默认为叶字段的名称(在本例中为totalBilledBytes)

代码语言:javascript
复制
#legacySQL  
SELECT  
  protopayload_google_cloud_audit_auditlog.
    servicedata_google_cloud_bigquery_logging_v1_auditdata.
    jobCompletedEvent.
    job.
    jobStatistics.
    totalBilledBytes AS totalBilledBytes   
FROM [yourTable]

代码语言:javascript
复制
#standardSQL   
SELECT  
  protopayload_google_cloud_audit_auditlog.
    servicedata_google_cloud_bigquery_logging_v1_auditdata.
    jobCompletedEvent.
    job.
    jobStatistics.
    totalBilledBytes    
FROM `yourTable`
票数 2
EN

Stack Overflow用户

发布于 2017-03-10 20:49:15

为什么使用v1命名模式导出审计日志?

以v2格式导出的是包含审计日志有效负载的LogEntry

列名中的“v1”是BigQuery AuditData消息(特别是google.cloud.bigquery.logging.v1.AuditData协议缓冲区)的版本,它存储在日志条目的proto有效负载字段中。用REST风格描述的公共文献不公开版本。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42685334

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档