【问题标题】:How to bypass the Local Development Server for Google App Engine?如何绕过 Google App Engine 的本地开发服务器?
【发布时间】:2017-04-29 20:42:06
【问题描述】:

Google App Engine 的本地开发服务器非常适合进行测试 - 但我们也希望针对我们在 Google 云中的数据库进行测试。

我们尝试设置 --host option for the Local Development Server 以希望我们可以绕过 localhost - 但它会抛出一个错误,它无法在 Google 的 x.appspot.com 上绑定我们的服务(即 x 是我们的项目。)

如何绕过本地开发服务器,让我们的 Python App Engine 应用连接到云端的 Google Cloud SQL 和 Cloud DataStorein,而不是本地版本?

【问题讨论】:

    标签: python google-app-engine google-cloud-datastore google-cloud-sql


    【解决方案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)
    

    您可以在文档中找到有关身份验证的更多信息。

    云 SQL

    您可以通过以下方式连接到 Cloud SQL 实例:

    • IP 地址(带和不带 SSL)
    • Cloud SQL 代理(二进制或 Docker 映像)
    • MySQL 套接字库(仅限 Java)
    • Go 代理库(仅限 Go)
    • Cloud Shell(使用临时 IP 白名单)

    我建议通过Cloud SQL Proxy 连接。

    替代测试

    我相信还值得问问自己您要测试什么以及是否可以避免直接连接到 prod 数据库。我建议设置一个暂存环境,而不是在其中您可以通过脚本定期导入产品数据的子集,正确匿名敏感用户数据并针对该环境运行 E2E 测试,以避免对您的生产产生任何潜在的负面影响系统。

    【讨论】:

      猜你喜欢
      • 2016-12-18
      • 2011-11-10
      • 2018-01-07
      • 2018-06-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-10-19
      • 1970-01-01
      相关资源
      最近更新 更多