The memo blog.

About programming language and useful library.

Google App Engine: Memo(I)

| Comments

講了很久的Google App Engine(GAE),隨著今年的目標,一定要給他學會它,並且可以順利地寫出我要的功能!其實整個來講並沒有什麼太大的問題,唯一有一個要注意的就是。

最好每個檔案名稱千萬不要有大寫的存在!

只要記住這個,我想應該都沒有什麼問題。 其實在設定GAE的開發環境其實沒有什麼特別問題,我想這邊設定之類的就先跳過。那其實在安裝PyDev的時候,就已經有預設有GAE的開發選項,所以應該也不是什麼太大問題。Sample code也放在github上,基本上就是GAE的範例程式。那這邊先把過程了解的部份紀錄一下。首先有兩個Code一個pygmapengine.py另外一個app.yaml內容分別為:

pygmapengine.py
1
2
3
4
5
6
7
8
import webapp2

class MainPage(webapp2.RequestHandler):
    def get(self):
        self.response.headers['Content-Type'] = 'text/plain'
        self.response.write('pyGMapMain-Hello')

app = webapp2.WSGIApplication([('/', MainPage)], debug=True)

pygmapengine.py裡面,主要用的是webapp2的套件,細節怎樣使用我覺得以後再來慢慢研究好了,這部分先求會動就好。看起來就很像是建立一個MainPage然後裡面寫一個pyGmapMain-Hello的字串,應該就只有這樣而已。在app.yaml這部分似乎是比較重要的,因為在GAE讀取建立的時候,這是一個config檔。在這個app.yaml也有參考可以看。首先application:說明為The application identifier. This is the identifier you selected when you created the application in the Administration Console.,那可以知道的事情就是,就一定要跟你在GAE的管理界面是一致的,這樣在上傳的時候才對的起來。那我在GAE建立的也是pygmapengine所以沒問題,之後程式可以在這裡看到。version:似乎是版本?在更動的時候應該也會同時變動管理界面的版本才對,看說明也是如此。runtime:就所用的Python Interprer的版本,那在GAE上目前支援到2.7api_version:這部分好像是說,用的GAEAPI版本,在說明上目前好像都是1之後如果想要升級只要改改這個部份就好了。threadsafe:,看起來好像是什麼執行緒安全?說明是這樣Configures your application to use concurrent requests.應該是能不能支援cncurrent requests。最後終於handlers:這部份感覺有點複雜,因為要設定的東西似乎是網頁的路徑之類的,這部分留到未來慢慢研究好了。主要的說明在這邊Script_Handlers,似乎好像也沒有很多中文網站來討論這些設定問題。

pygmapengine.py
1
2
3
4
5
6
7
8
9
application: pygmapengine
version: 1
runtime: python27
api_version: 1
threadsafe: true

handlers:
- url: /.*
  script: pygmapengine.app

最後我想會直接開始寫個JSON範例用來存取吧!

Comments