Serving static files efficiently in google app engine flexible python
我在 Google app engine flexible 中有一个应用程序,它是用 Python 编写的。它使用 Flask 框架作为后端。目前,flask 框架使用以下代码为静态文件提供服务。
1 2 3 | @app.route('/<path:path>') #Catch All urls, enabling copy-paste url def home(path): return send_from_directory(CLIENT_APP_FOLDER, path) |
这会占用我用 Angular 编写的网站服务的资源。
我一直在阅读如何在不使用我的应用引擎应用的情况下提供静态文件。一个建议是使用 Google Cloud Storage 来提供静态文件,但我无法理解如何设置我的 DNS 以便
另一个建议是使用
有两种方法可以最大限度地降低成本。
第一个是使用 Cloud Run 而不是 appengine flex。您可以部署相同的容器,但您只需在服务请求时付费。它处于测试阶段,但非常稳定。您可以使用自定义域
如果您保持应用引擎的灵活性,则第二种解决方案是部署第二个服务。第二个服务将为静态资源提供服务。使用标准 appengine,并自定义您的 app.yaml 以仅提供静态资源。这里是 python 2 的文档,但配置与语言无关
提供静态资源不会创建实例。无论如何,您每天都可以免费使用 28 小时的标准实例。