通常如何从 Google Apps 脚本访问 BigQuery

Posted

技术标签:

【中文标题】通常如何从 Google Apps 脚本访问 BigQuery【英文标题】:How to access BigQuery generally from Google Apps Script 【发布时间】:2018-05-30 18:47:24 【问题描述】:

我有一个当前使用 JDBC 访问 GCP SQL 数据库的 Google Apps 脚本应用程序。

使用普通的 SQL 数据库并不能解决问题,所以我决定尝试 BigQuery。

有没有一种方法可以从 Google Apps 脚本访问 BigQuery,而无需连接与 GCP 项目相关联的帐户?我希望使用我的脚本的客人能够获取数据。

我正在寻找一种通用方式(例如:IP、数据库、用户名、密码和我管理连接)或我可以与 Apps 脚本一起使用的客户端库方式。

请注意,BigQuery Apps 脚本插件似乎只允许访问我自己的数据库,因此访客将被拒绝访问。

【问题讨论】:

“使用普通的 SQL 数据库是不行的” 你介意解释一下吗?是什么让 Google Cloud SQL 不适合您的目的? @DimuDesigns 我是这个项目的新手,现在的员工告诉我,当前的数据库并没有削减它。我们谈论的是大约 800GB 的存储空间,平均 60 个活动连接,300KB/s 的入口和 125KB/s 的出口。 BigQuery 是一个很好的分析数据库 - 从这个问题来看,我不确定您是在寻找分析数据存储还是事务性数据存储。 @FelipeHoffa 我们正在使用当前的数据库进行分析,特别是 Google Data Studio。不过,我确实理解这种担忧。 @Amit 鉴于这些细节,我怀疑他们使用的是第一代云 sql 实例。第二代实例可以轻松处理这些规范。 cloud.google.com/sql/docs/quotas 【参考方案1】:

根据此link,您可以与特定用户共享您的 BigQuery 数据集,即使他们不属于 GCP 项目。由于他们需要能够检索数据,因此他们需要数据集的“查看者”权限。 here 中描述了执行此操作的步骤,link 将通过示例向您展示如何从 Apps 脚本查询 BigQuery 表。

【讨论】:

以上是关于通常如何从 Google Apps 脚本访问 BigQuery的主要内容,如果未能解决你的问题,请参考以下文章

从 Google Apps 脚本访问 GoogleSheet 链接的 BigQuery 表时出现“获取驱动器凭据时权限被拒绝”错误

如何使用google apps脚本在自定义函数中编辑自定义函数的调用单元格?

如何从 Google 电子表格中的 Google Apps 脚本自动更新“站点地图”功能?

如何从 Google Apps 脚本授权 Google Speech-to-text?

如何通过使用数组从 Google 表格中提取数据并格式化来优化 Apps 脚本代码?

如何在 Google Apps 脚本中使用服务帐户对 Google 表格进行身份验证