第 9 章 アプリケーションのデプロイ 49
9.2 デプロイの仕方
GAEアプリケーションをデプロイするには、作成したGAEアプリケーションを、どこに対してデプロイをする のかを設定します。そのためには、app.yamlを修正します。
修正ができたら、App Launcherを使ってデプロイを実行します。
手順
1. 設定ファイルの修正 2. デプロイする
9.2.1 手順 1. 設定ファイルの修正
app.yamlのapplicationの値をGCPのプロジェクトIDに変更します。(※XXXXXは前章で作成した5桁の数 字を設定します。)
application: cloud-mobile-helloworld-XXXXX
第 9 章
アプリケーションのデプロイ
9.1 デプロイとは
作成したWebアプリケーションをサーバにアップロードし、システムを利用可能な状態にすることです。ここで は、開発マシン上のHelloWorldアプリケーションを、Googleのクラウドサービスにアップロードし、インター ネット経由で誰からも利用可能な状態にします。
9.2 デプロイの仕方
GAEアプリケーションをデプロイするには、作成したGAEアプリケーションを、どこに対してデプロイをする のかを設定します。そのためには、app.yamlを修正します。
修正ができたら、App Launcherを使ってデプロイを実行します。
手順
1. 設定ファイルの修正 2. デプロイする
9.2.1 手順 1. 設定ファイルの修正
app.yamlのapplicationの値をGCPのプロジェクトIDに変更します。(※XXXXXは前章で作成した5桁の数 字を設定します。)
application: cloud-mobile-helloworld-XXXXX
9.2.2 手順 2. デプロイする
• GoogleAppEngineLauncherの[Deploy]ボタンをクリックします。
• ブラウザが起動し、次のようなページが表示されるので、[許可]ボタンをクリックします。
• 画面が切り替わり、“The authentication flow has completed.”と表示されていることを確認します。
50 第9章 アプリケーションのデプロイ
9.2.3 確認
ブラウザから、”http://cloud-mobile-helloworld-XXXXX.appspot.com“にアクセスし、 次のような画面になっ ていることを確認します。
9.2. デプロイの仕方 51
9.2.2 手順 2. デプロイする
• GoogleAppEngineLauncherの[Deploy]ボタンをクリックします。
• ブラウザが起動し、次のようなページが表示されるので、[許可]ボタンをクリックします。
• 画面が切り替わり、“The authentication flow has completed.”と表示されていることを確認します。
50 第9章 アプリケーションのデプロイ
9.2.3 確認
ブラウザから、”http://cloud-mobile-helloworld-XXXXX.appspot.com“にアクセスし、 次のような画面になっ ていることを確認します。
9.2. デプロイの仕方 51
第 10 章
Web ページの追加
10.1 webapp2 フレームワーク
App Engineにはwebapp2と呼ばれるWebアプリケーション フレームワークが提供されています。webapp2フ レームワークはApp Engine環境とSDKに既にインストール済みで,アプリケーションで使う時に用意する必要 はありません。
10.1.1 webapp2 の構造
webapp2アプリケーションは2つの部分に分かれます。
• 1つまたは複数のリクエストを処理してレスポンスを生成するRequestHandlerクラス
• 受信したリクエストをURLに基いてハンドラにルーティングするWSGIアプリケーションのインスタンス
1 #!/usr/bin/env python
2 #
3 # ...略...
4 #
5 import webapp2
6
7 class MainHandler(webapp2.RequestHandler):
8 def get(self):
9 self.response.write('Hello world!')
10
11 app = webapp2.WSGIApplication([
12 ('/', MainHandler)
13 ], debug=True)
第 10 章
Web ページの追加
10.1 webapp2 フレームワーク
App Engineにはwebapp2と呼ばれるWebアプリケーション フレームワークが提供されています。webapp2フ レームワークはApp Engine環境とSDKに既にインストール済みで,アプリケーションで使う時に用意する必要 はありません。
10.1.1 webapp2 の構造
webapp2アプリケーションは2つの部分に分かれます。
• 1つまたは複数のリクエストを処理してレスポンスを生成するRequestHandlerクラス
• 受信したリクエストをURLに基いてハンドラにルーティングするWSGIアプリケーションのインスタンス
1 #!/usr/bin/env python
2 #
3 # ...略...
4 #
5 import webapp2
6
7 class MainHandler(webapp2.RequestHandler):
8 def get(self):
9 self.response.write('Hello world!')
10
11 app = webapp2.WSGIApplication([
12 ('/', MainHandler)
13 ], debug=True)
webapp2の役割
call MainHandlerの部分は、MainHandlerをリクエストハンドラとして定義し,ルートのURL ( / )に対応づけて います。webapp2がURL /に対するHTTP GETリクエストを受け取ったとき,MainPageクラスをインスタンス 化してインスタンスのgetメソッドを呼びます。メソッドの中では,リクエストに関する情報がself.requestを通 して知ることができます。
通常,このメソッドはレスポンスの準備をするself.responseにプロパティを設定して終了します。webapp2は
MainPageインスタンスの最終状態に基づいてレスポンスを送信します。
アプリケーション自身はwebapp2.WSGIApplicationインスタンスで表現されます。そのコンストラクタに渡され るパラメータdebug=trueはハンドラにエラーが発生したかキャッチされない例外が発生した場合,webapp2にブ ラウザ出力へのスタックトレースの発行を指示します。