AppEngineをファイル置き場として使うTips

以下のような構成のアプリケーションを一個作っておくと怠惰にファイルの公開が出来て便利かな〜、と。
使い方としては static ファイルの下に static/hoge.html とか置いて update.bat を実行すると http://*.appspot.com/hoge.html で公開できるって感じです。
staticだけで良いかとも思ったけど、ディレクトリに対して / でアクセスできた方が便利なのでちっちゃなスクリプトも付けてみた。
それでファイル置き場として作ったのがこれ→ http://y-kawaz.appspot.com/
このセット自体使い回しがききそうなのでzipにした→ http://y-kawaz.appspot.com/files/gae-static-pack.zip

ファイル内容

application: your-app-id
version: 1
runtime: python
api_version: 1

handlers:
- url: /(.*/)?
  script: index.py

- url: /(.*)
  static_files: static/\1
  upload: static/(.*)
  • index.py
from google.appengine.ext import webapp
from google.appengine.ext.webapp.util import run_wsgi_app

class IndexPage(webapp.RequestHandler):
  def get(self):
    self.redirect(self.request.uri + 'index.html')

application = webapp.WSGIApplication([('/.*', IndexPage)], debug=True)

def main():
  run_wsgi_app(application)

if __name__ == "__main__":
  main()

update.bat

appcfg.py update .
pause
  • static/

この下に静的ファイルを置いておく。