应用配置意味着什么?

时间:2015-08-03 16:27:28

标签: python-2.7 google-app-engine web-applications configuration app.yaml

我正在使用Google App Engine(GAE),它有一个名为(app.yaml)的文件。由于我是编程新手,我一直在想,配置应用程序意味着什么?

2 个答案:

答案 0 :(得分:1)

如果您使用其他平台(例如Amazon Web Services)配置应用,则您将负责维护基础架构。 Google App Engine通过为您处理它来简化流程,但需要在app.yaml中指定一些设置。

app.yaml文件特定于Google App Engine。我会举两个例子:

1)网址处理程序

此app.yaml文件中的此条目:

- url: .*
  script: main.app

告知Google App Engine将所有传入的请求映射到main.py。

2)图书馆

此app.yaml文件中的此条目:

libraries:
- name: webapp2
  version: "2.5.2"

告诉Google App Engine您希望使用webapp2库,版本2.5.2。

您可以在app.yaml中指定其他设置。你可以在这里阅读更多内容:

https://cloud.google.com/appengine/docs/python/config/appconfig?hl=en

答案 1 :(得分:1)

要“配置您的应用程序”,一般来说,是通过某种机制指定参数,可用于在运行时指导应用程序的行为。此外,对于Google App Engine,这些参数可能会影响应用程序周围的框架和服务的行为。

指定这些参数时,以及 指定它们的方式,取决于应用程序和框架,有时还取决于您自己的需要参数化的理念。像YAML这样的格式的可读数据文件是一种流行的选择,特别是对于Web应用程序和服务。在这种情况下,当您的应用程序部署到Google App Engine或通过GoogleAppEngineLauncher在本地启动时,将会读取并遵循配置。

现在,这对你来说似乎很麻烦。毕竟,您必须更改应用程序行为的最简单方法是编写实现所需行为的代码!当您通过文件进行配置时,通常需要设置更多工作:必须读取配置文件并在应用程序中旋转相应的开关/变量。 (在app.yaml的特定情况下,这不是你必须担心的事情,但谷歌的工程师肯定会这样做。)那么将“配置”拉出到这样的文件中有什么好处呢?

  • 像YAML这样的配置文件相对容易编辑。如果您了解参数是什么,那么更改值就是小菜一碟!在代码中做同样的事情可能不那么明显。
  • 在某些情况下,配置参数会影响在您的应用运行之前发生的事情 - 例如提取静态内容并将其部署到Google App Engine的前端服务器以获得更好的性能,更低的花费。您无法从应用程序中引导该行为,因为您的应用尚未运行 - 在处理静态内容时,它仍处于部署过程中。
  • 有时,您希望应用程序在一个环境(测试)中以一种方式运行,在另一种环境(生产)中以另一种方式运行。或者,您可能希望应用程序在默认情况下以一种合理合理的方式运行,但如果默认情况不符合他们的喜好,则允许部署应用程序的人员能够更改其行为。配置文件使这更容易:更改行为,您只需在部署/启动应用程序之前更改配置文件。