【问题标题】:Google App Engine and Google Endpoints FrameworksGoogle App Engine 和 Google Endpoints 框架
【发布时间】:2019-05-19 15:41:24
【问题描述】:

我目前正在考虑使用 Google App Engine 作为我的网络应用程序和 api 的无服务器后端。我研究了 Google Endpoints Frameworks 并了解它有助于在 google 应用引擎上构建一个 api。我想允许用户将文件(单词、页面、文本等)提交给 api,并让 api 处理文件并根据文件返回信息。我试图允许用户使用端点提交文件,但我发现的最佳解决方案建议使用 Endpoints 和 Blobstore 上传文件。我想避免这种情况,因为在处理文件后我不需要保留文件,而且这种技术可能会产生额外费用。另一方面,Google App Engine 似乎允许这样做。由于 App Engine 允许与 Endpoints Frameworks 类似的功能,我可以单独使用 App Engine 来构建我的 api 和 Web 应用程序吗?这种方法是否有任何缺点或增加安全问题的风险?

附带说明,如果我决定使用 Endpoints,我的网站是否可以直接调用我的 api,或者我是否应该为此创建一个完整的其他 web serverlet?

【问题讨论】:

    标签: google-app-engine google-cloud-platform google-cloud-endpoints


    【解决方案1】:

    如果您尝试处理的文件小到足以容纳单个 POST 请求,则可能不需要使用 Blobstore API。 只需在请求正文中包含您要处理的文件。 (很容易使用BASE64等)

    Cloud Endpoints Framework 是在 Google App Engine 上运行的库。所以很明显,直接使用 Google App Engine 可以做 Cloud Endpoints Framework 可以做的所有事情。 (Endpoints Framework提供的API管理功能除外)

    如果您只打算创建一种或几种类型的 API,则不需要使用 Endpoints Framework,但使用 Endpoints Framework 可以更轻松地管理 API,或者在开发时获得高生产力.

    附带说明,如果我决定使用 Endpoints,我的网站是否可以直接调用我的 api,或者我是否应该为此创建一个完整的其他 web serverlet?

    是的。 您可以在服务器端代码上配置 CORS(跨域请求共享)。 制作自定义过滤器类以添加 Access-Control-Allow-Origin 标头。

    【讨论】:

    • 还有一个小问题,如果我启用 CORS,我可以让我的网站和 api 在同一个应用引擎实例上运行,这样我就不必为两个付费了?
    • 您可以在应用引擎实例上托管网站和 api(多个应用程序。这意味着就像相同的代码库)。 GAE 的主要成本是实例小时。在同一个 gae 实例上运行多少个应用程序并不重要。我们需要考虑的一点是运行您的系统需要多少个实例以及需要多长时间。
    猜你喜欢
    • 2015-08-31
    • 2018-09-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-06-08
    • 2015-04-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多