旧版本文件仍然出现在 Google 应用引擎中

ls_*_*way 6 google-app-engine caching google-cloud-platform

即使在以下情况下,我的旧版本文件仍然出现在 Google App Engine (URL) 中:

  1. 我上传后测试了新版本(2.appid.appspot.com)
  2. 从仪表板将新版本设为默认版本。
  3. 删除了旧版本。
  4. 清除内存缓存

所有新的目录和文件都会创建,但旧文件不会被覆盖。

好吧,让我详细说明一下,最初我使用 app.yaml 创建了版本 1:

应用程序:应用程序 ID

版本:1

运行时:python27

api_版本:1

线程安全:是的

默认到期时间:“7天”

处理程序: - url:/static/(..html) static_files:static/\1 上传:static/(..html)

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

url: /static/(..(bmp|gif|ico|jpeg|jpg|png))$ static_files: static/\1 upload: static/(..(bmp|gif|ico|jpeg|jpg|png))

url: /static/(..(bmp|gif|ico|jpeg|jpg|png))$ static_files: static/\1 upload: static/(..(bmp|gif|ico|jpeg|jpg|png))

url: /static/(..mp4) static_files: static/\1 mime_type: static/mp4 upload: static/(..mp4)

url: .* script: main.app
Run Code Online (Sandbox Code Playgroud)

库: - 名称:webapp2 版本:“2.5.2”

然后我使用相同的 app.yaml 创建了版本 2:

应用程序:应用程序 ID

版本:2

运行时:python27

api_版本:1

线程安全:是的

默认到期时间:“7天”

处理程序: - url:/static/(..html) static_files:static/\1 上传:static/(..html)

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

url: /static/(..(bmp|gif|ico|jpeg|jpg|png))$ static_files: static/\1 upload: static/(..(bmp|gif|ico|jpeg|jpg|png))

url: /static/(..(bmp|gif|ico|jpeg|jpg|png))$ static_files: static/\1 upload: static/(..(bmp|gif|ico|jpeg|jpg|png))

url: /static/(..mp4) static_files: static/\1 mime_type: static/mp4 upload: static/(..mp4)

url: .* script: main.app
Run Code Online (Sandbox Code Playgroud)

库: - 名称:webapp2 版本:“2.5.2”

测试版本 2 即 2.app-id.appspot.com 正在工作

转到仪表板将版本 2 设置为默认版本,然后我删除了版本 1 ,但现在:

1)静态文件夹有1个名为side.css(版本1)和修改后的side.css(版本2)的文件,两者都可以通过app-id.appspot.com/static/side.css和2.app-id获得.appspot.com/static/side.css(已修改)??

如何删除 app-id.appspot.com/static/side.css 上提供的旧 side.css ???

Gab*_*nes 7

前往Google Cloud Console并打开您的项目。在左侧汉堡菜单下,前往存储 -> 浏览器。在那里您应该至少找到一个存储桶:your-project-name.appspot.com。在“生命周期”列下,单击与 your-project-name.appspot.com 相关的链接。删除任何现有规则,因为它们可能与您现在要创建的规则冲突。

单击“添加规则”按钮创建新规则。对于对象条件,选择“较新版本”选项并将其设置为 1。不要忘记单击“继续”按钮。对于该操作,选择“删除”并单击“继续”按钮。保存您的新规则。

这个新规则最多需要 24 小时才能生效,但至少对于我的项目来说只花了几分钟。一旦启动并运行,您的应用程序在 your-project-name.appspot.com 下提供的文件版本将始终是最新部署的,从而解决了问题。element此外,如果您定期编辑静态文件,则应从与这些静态文件相关的处理程序以及 app.yaml 文件中的元素中删除所有过期内容default_expiration,这将有助于避免其他服务器意外缓存。