「Google App Engine」は,米Googleが提供しているWebアプリケーション開発/実行環境です。2008年4月に先着1万人限定でプレビュー版を公開,同年5月末からは人数制限を撤廃して,無料のユーザー登録をすれば誰でも使えるようになりました。ここでは,2008年末時点のGoogle App Engineの使い方を紹介します。
※ 記事は執筆時の情報に基づいており,現在では異なる場合があります。

 この連載では,Google App Engineの概要と具体的な使い方を紹介するために,「Part1 Google App Engineの基礎知識」,「Part2 プログラム作成のはじめの一歩」と説明してきました。Part3では,実用的なサンプル・プログラムとして,簡単なRSSリーダーを作ります。Part2までのプログラムとは異なり,RSS解析用ライブラリを利用したり,Webページで表示する画像を用意したりするなど,アプリケーションを構成するファイルが増えています。それでも,これまでに解説してきた知識があれば理解できるでしょう。

 ここで作成するRSSリーダー(図1)に必要なファイル群を確認します。まず,RSSフィードの解析にMark Pilgrim氏が作成した「feedparser.py」というプログラムを使います。このプログラムはRSSフィードを読み込んで,XML形式のデータを解析し,必要な要素を抜き出す機能を提供します。feedparser.pyは,こちらからダウンロードできます*1

図1●今回作成するRSSリーダー
図1●今回作成するRSSリーダー

 次に,RSSを象徴するオレンジ色のアイコンをMozilla FoundationのWebページで入手します。大小2種類のアイコンが並んでいるので両方をダウンロードしてください。

 大小2種類の画像はそれぞれ「rss-big.png」「rss-small.png」と名付け,「static」というフォルダに入れてください。このフォルダにはCSS(Cascading Style Sheets)ファイル(style.css)も格納します。CSSファイルは、ほかのファイルと一緒に日経ソフトウエアのWebサイトでダウンロードできるようにしておきますので,それを参照ください。

 staticフォルダの中身はこれで準備できました。このフォルダをアプリケーション名と同一の名前を付けたフォルダに入れてください。そして,アプリケーション名のフォルダには,app.yamlとプログラム本体(ここではmain.pyとしました),feedparser.pyを入れておきます。

 さらに,Webページのひな型となるテンプレート・ファイル「templates.py」と,データストアのインデックス情報を記した「index.yaml」というファイルが必要です*2

 リスト1にテンプレートであるtemplates.pyの一部を示します。ファイル拡張子は.pyですが,ご覧の通りHTMLです。ただし,「%(error)s」など,「%」記号が付いた部分に注意してください。プログラムは,取得したデータなどをこの部分に挿入してWebページを出力します。

リスト1●HTMLのひな型となるテンプレートの一部。「%」記号が付いた部分に注目
リスト1●HTMLのひな型となるテンプレートの一部。「%」記号が付いた部分に注目
[画像のクリックで拡大表示]

 リスト2にはこのプログラムで使うapp.yamlを示します。URLとプログラムを対応付ける記述の前に,URLとフォルダを対応付ける記述があるくらいで,ほかの部分は今までに紹介してきたプログラムで使ってきたものと変わりません。

application: アプリケーション名
version: 1
runtime: python
api _ version: 1

handlers:
- url: /static
  static _ dir: static
- url: /.*
  script: main.py
リスト2●このプログラムで使用するapp.yaml