使用自定义目标接收器将日志导出到 BigQuery(表分区)

Posted

技术标签:

【中文标题】使用自定义目标接收器将日志导出到 BigQuery(表分区)【英文标题】:Exporting Log to BigQuery (table partitioned) using custom destination sink 【发布时间】:2020-07-05 05:48:15 【问题描述】:

大家好。

我想创建一个“接收器”(日志记录服务)来将日志导出到 BigQuery(分区表)。但是,我一直没能做到,默认情况下它正在创建一个碎片表。

我正在使用“自定义目的地”,我在“接收器目的地”选项中使用的代码是:

bigquery.googleapis.com/projects/miproyecto/datasets/dataset_organization.

PD:我正在使用“自定义目标”选项,因为接收器和 bigQuery 表位于不同的项目中。

【问题讨论】:

您能否分享错误消息或您创建接收器时遵循的任何文档?您是否为服务帐户分配了写入接收器导出目标的权限?这是谷歌官方document 供您考虑。 【参考方案1】:

目前没有选项可以在 google 控制台和稳定的 gcloud logging sinks create 命令中使用分区表创建 log-BQ sink。我们必须使用 gcloud 命令的 alpha 版本。

gcloud alpha logging sinks create <Sink_Name bigquery.googleapis.com/projects/<BQ Project>/datasets/<dataset> --log-filter='<FILTER CONDITION>' --use-partitioned-tables --project <LOG PROJECT>

基本上 --use-partitioned-tables 提供在 alpha 版本中的伎俩。请参考以下官方谷歌文档链接。

链接:https://cloud.google.com/sdk/gcloud/reference/alpha/logging/sinks/create

我测试了它,它对我来说工作正常。希望答案有用!

问候 马尼什

【讨论】:

以上是关于使用自定义目标接收器将日志导出到 BigQuery(表分区)的主要内容,如果未能解决你的问题,请参考以下文章

如何在 BigQuery 数据访问日志中记录自定义信息?

从 BigQuery 导出自定义维度

如何将负载均衡器日志实时导出到 BigQuery?

解析 nginx 日志并导出到 BigQuery

将 Firebase Crashlytics 数据部分导出到 BigQuery

从 Bigquery 导出到存储