旧版本文件仍出现在谷歌应用引擎中

时间:2015-03-08 05:09:07

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

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

  1. 我在上传后测试了新版本(2.appid.appspot.com)
  2. 将新版本设为仪表板的默认版本。
  3. 删除了旧版本。
  4. 清除memcache
  5. 创建了所有新目录和文件,但不会覆盖旧文件。

    好的,让我详细介绍一下,最初我使用app.yaml创建了第1版:

    应用程序:app-id

    版本:1

    运行时:python27

    api_version:1

    线程安全:是的

    default_expiration:" 7d"

    处理程序: - url:/static/(..html)static_files:static / \ 1 upload: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
    

    libraries: - name:webapp2 version:" 2.5.2"

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

    应用程序:app-id

    版本:2

    运行时:python27

    api_version:1

    线程安全:是的

    default_expiration:" 7d"

    处理程序: - url:/static/(..html)static_files:static / \ 1 upload: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
    

    libraries: - name:webapp2 version:" 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 ???

1 个答案:

答案 0 :(得分:0)

前往您的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元素,这将有助于避免意外缓存其他服务器。