Google App Engine的本地开发服务器非常适合测试 - 但我们也希望在Google的云中测试我们的数据库。
我们尝试设置--host option for the Local Development Server希望我们可以绕过localhost - 但它会抛出一个错误,它无法绑定我们在Google的x.appspot.com上的服务(即x是我们的项目。)
如何绕过本地开发服务器,以便我们的Python App Engine应用程序连接到云端的中的Google Cloud SQL和Cloud DataStore 而不是本地版本?
答案 0 :(得分:1)
云数据存储
现在有一个客户端google-cloud-python,允许您直接访问数据存储区,假设客户端具有正确的凭据。
尝试此操作的最简单方法是使用Cloud Shell -
$ sudo pip install --upgrade google-cloud
$ python
>>> from google.cloud import datastore
>>> client = datastore.Client(project='YOUR-PROJECT-ID')
>>> query = client.query(kind='YOUR-ENTITY')
>>> for result in query.fetch():
>>> print(result)
您可以在文档中找到有关身份验证的更多信息。
Cloud SQL
您可以通过以下方式连接到Cloud SQL实例:
我建议您通过Cloud SQL Proxy进行连接。
测试的替代方法
我相信也值得问问自己,您要测试的是什么以及是否可以避免直接连接到prod DB。我建议您设置一个临时环境,您可以通过脚本定期导入prod数据的子集,正确匿名敏感用户数据并针对该环境运行E2E测试,以避免对您的生产产生任何潜在的负面影响系统