谷歌应用引擎中的静态文件在哪里?

ls_*_*way 3 python google-app-engine

如果我们使用app.yaml和说明创建应用引擎:

- url: /static/(.*\.(css))
  static_files: sheet/\1
  upload: sheet/(.*\.(css))

- url: /static/(.*\.(bmp|gif|ico|jpeg|jpg|png))$
  static_files: img/\1
  upload: img/(.*\.(bmp|gif|ico|jpeg|jpg|png))
Run Code Online (Sandbox Code Playgroud)

等我的问题是:

  1. 这些文件上传到哪里了?找不到包含文件、数据存储或 blob 或管理员的静态文件夹,但引擎正在运行并且所有文件都可以从 URL 访问。
  2. 如何删除静态文件夹中的某些文件?
  3. 如何删除所有文件夹并重新开始?
  4. 如果我们更新到新版本(比如 1.1),那么旧版本会发生什么?是否可用或已删除?
  5. 创建相同版本的应用引擎会覆盖文件吗?

这个应用程序引擎是一个很大的谜团,即使 PYTHON 是一种如今很少发现的动物。谢谢。

gsi*_*nha 5

请在线查找我的答案:

  1. 这些文件上传到哪里了?

ANS :这些文件由 google 上传并保存在不同的位置,如果不使用 app.yaml 中的特殊指令,您或您的 python 脚本无法直接访问这些文件。

在您上传应用程序的笔记本电脑/PC 上,它会在您的应用程序源目录中,但一旦上传,GAE 就会以不同的方式存储它。

这些文件,当在 app.yam 中提到时(就像你所做的那样),不需要任何处理程序(python 子程序来打开和提供它们)。GAE 内置了处理程序来为它们服务。正如您所提到的,您可以像访问它们一样访问它们,就好像它们实际上驻留在您的应用程序源目录中一样。

  1. 找不到包含文件、数据存储或 blob 或管理员的静态文件夹,但引擎正在运行并且所有文件都可以从 URL 访问。如何删除静态文件夹中的某些文件?

ANS :这个问题的第一部分在 Q1 的回答中得到了回答。

要删除这些文件或目录中的任何一个,只需删除它们(或将它们移到外部)您的笔记本电脑/PC 上的应用程序源目录。然后“部署”应用程序一次,以便更改反映在生产应用程序 ( web ) 中。

  1. 如何删除所有文件夹并重新开始?

ANS:请参阅 Q2 答案。

  1. 如果我们更新到新版本(比如 1.1),那么旧版本会发生什么?是否可用或已删除?

ANS:如果我理解正确,您的意思是在 app.yaml 文件中更新您的应用程序版本。

无论任何代码更改(您可能将其称为应用程序的版本升级),这些文件都保持不变。它们仍然可用并以相同的方式访问。

  1. 创建相同版本的应用引擎会覆盖文件吗?

ANS:我相信您的意思是:“如果我从头开始为此应用程序创建不同的源目录。添加代码文件但不添加静态文件(或目录),然后“部署”。我的静态文件是否来自早期部署保持 ? ”

答案是不”。这是因为 GAE 不知道您是从头开始创建另一个目录,还是删除了现有目录并对其进行了所有更改。这对 GAE 或您的应用程序无关紧要。一旦您从另一个源目录部署相同的应用程序 ID,对于相同版本的应用程序,该源目录的代码和静态文件就是您在生产应用程序 ( web ) 中拥有的全部内容。

我希望它有帮助。