是否可以在没有OAuth2身份验证对话框的情况下从Google App Engine(python)连接并查询BigQuery表?

是否可以在没有OAuth2身份验证对话框的情况下从Google App Engine(python)连接并查询BigQuery表?,python,google-app-engine,google-bigquery,Python,Google App Engine,Google Bigquery,我正在从事一个谷歌应用引擎项目,该项目在数据存储中存储了大约10万个实体。因为我必须搜索这些实体的字符串属性,所以我必须找到一种有效的方法 经过一些研究,我发现谷歌的BigQuery服务非常适合我。我已经通过web界面将实体导入到BigQuery中,但我无法从应用程序引擎代码连接并运行对BigQuery的查询 我的应用程序引擎项目没有web界面。它只生成移动应用程序使用的JSON输出 因此,我的问题是:在没有OAuth2身份验证对话框的情况下,是否可以从App Engine python代码连接

我正在从事一个谷歌应用引擎项目,该项目在数据存储中存储了大约10万个实体。因为我必须搜索这些实体的字符串属性,所以我必须找到一种有效的方法

经过一些研究,我发现谷歌的BigQuery服务非常适合我。我已经通过web界面将实体导入到BigQuery中,但我无法从应用程序引擎代码连接并运行对BigQuery的查询

我的应用程序引擎项目没有web界面。它只生成移动应用程序使用的JSON输出


因此,我的问题是:在没有OAuth2身份验证对话框的情况下,是否可以从App Engine python代码连接并运行查询?

是的。只需使用所述的“服务帐户”。然后,导出
GOOGLE\u APPLICATION\u凭据后,使用一些简单的Python代码指向凭据文件:

from google.cloud import bigquery
client = bigquery.Client(project='PROJECT_ID')
for dataset in client.list_datasets():
        do_something_with(dataset)

更多信息。

请注意,这是区分大小写的 -检查“客户”的字幕

my_bigquery_client = bigquery.client(project = 'my_project')
-此操作失败,出现错误“TypeError:“module”对象不可调用”


-这很有效。

谢谢你,格雷厄姆。我已经试过了,但我总是收到这样的错误消息:“from google.cloud import bigquery importorror:没有名为cloud的模块”。我认为我必须首先“提供”google api python客户端库到我的项目中,但每次尝试都失败了。是的,您需要安装模块:
pip install——升级google cloud
再次感谢您,Graham。你救了我无数个小时。我对这个话题很困惑,但现在我可以在黑暗中看到光明:)没问题!很高兴我能帮忙。
my_bigquery_client = bigquery.Client(project = 'my_project')