Python 谷歌云端点API与Flask

Python 谷歌云端点API与Flask,python,google-app-engine,flask,sqlalchemy,google-cloud-endpoints,Python,Google App Engine,Flask,Sqlalchemy,Google Cloud Endpoints,各位: 我正在考虑基于Flask和SqlAlchemy构建我的应用程序的服务器端。我正在考虑在谷歌云平台上托管这些。我对GoogleEndpointsAPI的承诺很感兴趣,但我不得不在REST服务的函数之上编写额外的代码,这让我感到有些犹豫 有人使用过谷歌应用程序引擎上的Flask与谷歌端点的组合吗?有什么建议/建议吗 谢谢 -Raj短语“谷歌云端点”在某种程度上意味着两件事: 它是一个软件库(Python包),允许您编写API并在Python应用程序可以运行的任何地方运行它们 这也是一个谷歌云

各位: 我正在考虑基于Flask和SqlAlchemy构建我的应用程序的服务器端。我正在考虑在谷歌云平台上托管这些。我对GoogleEndpointsAPI的承诺很感兴趣,但我不得不在REST服务的函数之上编写额外的代码,这让我感到有些犹豫

有人使用过谷歌应用程序引擎上的Flask与谷歌端点的组合吗?有什么建议/建议吗

谢谢

-Raj

短语“谷歌云端点”在某种程度上意味着两件事:

  • 它是一个软件库(Python包),允许您编写API并在Python应用程序可以运行的任何地方运行它们
  • 这也是一个谷歌云服务,它允许你
  • 在与其他GAE服务(即UI)不同的位置查看日志
  • 查看API使用统计信息,了解更多详细信息,请访问
  • 当将云端点视为软件库时,这类似于编写一个API,例如使用Flask RESTful,但将您束缚在两个设计决策中:

  • OpenAPI
  • 谷歌远程RPC
  • 一旦您使用
    endpoints
    Python包编写了API,您就可以选择如何部署它了。您可以将其作为自己的GAE服务或部署到上面提到的云端点服务。在那里部署它基本上就是代表您使用GAE来运行API(使用
    endpoints
    Python包编写)

    在我看来,除非您有一个非常简单的API(即仅对数据存储实体执行CRUD操作),否则云端点还没有准备好进入黄金时间。我之所以这样说是因为

  • 云端点仅限于Python2.7,该版本今年将逐渐过时
  • 云端点与其他Google API Python包(即文本到语音)的要求存在冲突,这意味着您的API不能做任何非常有趣的事情
  • 正如您所注意到的,
    端点
    的语法有点冗长,但是,这是因为云端点不仅为您提供了一个API,还为其他开发人员提供了一个OpenAPI/Swagger UI,供他们用来探索您的API。它还处理auth等。当考虑到使用(比如)修饰所有类和方法所需的工作时,
    端点
    代码开销是相当合理的
    我花了半个星期的时间尝试编写一个与您的应用程序架构类似的应用程序:GAE上的FlaskUI,云端点托管我的API。最后,由于上面的第1项和第2项,我决定放弃它,并将Flask作为一个单独的GAE服务用于我的API:这将使日志易于过滤,并给我一些像样的图表,以了解使用情况、延迟等。

    看一看示例。谢谢@doru。端点如何与您可能在其中编码的REST端点交互,比如Flask?