GAE 上的 BigQuery:根据开发人员的访问权限运行数据

Posted

技术标签:

【中文标题】GAE 上的 BigQuery:根据开发人员的访问权限运行数据【英文标题】:BigQuery on GAE: Running data based on Developer's access 【发布时间】:2012-07-03 15:41:23 【问题描述】:

我正在使用 bigquery 开发应用程序,并且我拥有所有基础数​​据。 我想向用户展示这些数据的一个子集,他们的访问范围由我要实现的权限控制确定。 我不想授予他们对 bigquery 表的任何访问权限。

我的问题是: 我该如何设置,以便在它们运行某些东西时,它基于我对表的访问权限?

谢谢。

【问题讨论】:

【参考方案1】:

您打算让用户编写自己的查询吗?如果是这样,那么这将很困难,除非您可以按用户将数据分区到表中。或者你可以通过重写查询来玩游戏——如果他们这样做了select foo from bar ...,你可以用(select allowed columns from underlying.table where user_id = 'current_user')替换表名。

如果您要代表用户生成查询,那么您可以只使用自己的凭据(或您的服务帐户的凭据)来访问 bigquery。本质上,您只需要一个 OAuth2 刷新令牌,这应该永远有效。一种思考方式是,如果您有一个 mysql 数据库,您将使用自己的凭据而不是用户的凭据来访问它。

【讨论】:

谢谢乔丹。我的一个后续问题是:查看应用引擎的 oauth2 的最新示例,似乎没有任何地方涉及令牌。所以我不太确定如何代表用户运行查询。

以上是关于GAE 上的 BigQuery:根据开发人员的访问权限运行数据的主要内容,如果未能解决你的问题,请参考以下文章

在 GAE 上用 Java 编写 Cron 作业以运行 BigQuery

使用 BigQuery 选择所有相关行(从 GAE 读取日志)

带有 GAE 的 Ninja 框架:访问 google 应用引擎开发控制台

有啥方法可以访问本地网络中的 GAE 开发应用服务器吗?

Python GAE - 如何以编程方式将数据从备份导出到 Big Query?

访问 BigQuery 上的公共数据集