这是一个与python Google AppEngine应用程序和Google的BigQuery之间的服务器到服务器授权有关的问题,但可能与其他云服务相关.
tldr; 是否可以让App Engine本地开发服务器使用远程BigQuery服务进行身份验证?更好的是有一个本地BigQuery?
我知道AppAssertionCredentials目前不能在本地开发服务器上运行,尽管这本身就非常令人沮丧.
它适用于标准的Python代码,在本地开发服务器沙箱之外的另一种方法,详细介绍在这里,因为即使PyCrypto启用了沙盒不允许一些POSIX模块如"PWD"不为本地开发服务器工作.
我有AppAssertionCredentials远程服务器,并在上工作SignedJwtAssertionCredentials方法了本机Python工作本地,因此服务帐户设置正确.
导入在try/except块中的oauth2client/crypt.py内失败 - 在将它们注释掉后,很容易看到沙箱白名单异常.
我已经摆弄了添加'pwd'到白名单,然后又出现了另一个问题,所以我匆匆走回那个兔子洞.
我已经尝试将PyCrypto直接包含在项目中并得到类似的结果.
我也试过OpenSSL,结果相似.
我找了一个当地的appengine特定的PyCrypto无济于事,我错过了吗?我应该说这是在Mac OSX上 - 也许我应该启动一个Linux机箱然后放手一搏?
google-app-engine google-bigquery google-oauth google-api-python-client