Google App Engine for Python & PHP入門

  • 11
    いいね
  • 0
    コメント
この記事は最終更新日から1年以上が経過しています。

参考

gae.png

SDK for Pythonをダウンロード

unzip google_appengine_1.9.25.zip
mv google_appengine ~/bin/
  • PATHを追加しておく
~/.bashrc
export PATH=$PATH:$HOME/bin/google_appengine

ソース

wget https://console.developers.google.com/project/プロジェクトID/start/appengine
unzip master.zip
cd appengine-try-python-bottle-master/
appcfg.py -A プロジェクトID update .

WEBブラウザが起動し「The authentication flow has completed.」と表示される。

  • http://プロジェクトID.appspot.com/ にアクセスし

「Hello World!」と表示されれば成功。

修正反映方法

main.py
 def hello():
     """Return a friendly HTTP greeting."""
-    return 'Hello World!'
+    return 'こんにちは'
appcfg.py -A プロジェクトID update .

「こんにちは」と表示されれば成功


PHP

  • PythonのSDKにPHPのSDKも含まれています。
wget https://github.com/GoogleCloudPlatform/appengine-try-php/archive/master.zip
unzip master.zip
cd appengine-try-php-master
appcfg.py -A プロジェクトID update .

「Hello World!」と表示されれば成功。

修正反映方法

helloworld.php
 <?php
-  echo 'Hello, world!';
+  echo 'こんにちはPHP';
appcfg.py -A プロジェクトID update .

「こんにちは」と表示されれば成功

  • $_SERVER["REMOTE_ADDR"] 変数とか普通に使えるのでアクセス制限できて便利そう

ルーティングの追加

app.yaml
 handlers:
-- url: /.*
-   script: helloworld.php
+- url: /
+  script: index.php
+- url: /1
+  script: 1.php

こうしておくと、/にアクセスが来た時 index.php
/1 にアクセスが来た時1.phpが処理される。


データの保存

準備: Bucketを作る

  • ストレージ>Cloud Storage>ブラウザ
  • Bucketを作成。一意の名前をつける。

データの保存方法

helloworld.php
define(BUCKET, "gs://mybucket");

# text/plain で保存
$options = [ "gs" => [ "Content-Type" => "text/plain" ]];
$ctx = stream_context_create($options);
file_put_contents(BUCKET."/hello.txt", "データ1", 0, $ctx);

# binaly/octet-stream で保存
$fp = fopen(BUCKET."/hello2.txt", "w");
fwrite($fp, "データ2");
fclose($fp);

バケットにデータが保存されたことを確認。

スクリーンショット 2015-09-01 11.14.14.png