2010年8月18日 星期三

App Engine 更新 1.3.6 , 支援超過1000筆的select了

原文:Google App Engine Blog: Multi-tenancy Support, High Performance Image Serving, Increased Datastore Quotas and More Delivered In New App Engine Release

大概翻譯一下更新的內容:

1.Multi-tenant Apps Using the Namespaces API
還不太清楚是什麼作用 不過看起來是可以把同一份code部署到不同的app上 對programer而言是一份code 對客戶端而言是各自獨立的app , 以往都要手動copy一份code然後改yaml在上傳 目前看來是改同一份code裡的config就可以做到這一點

請參考說明文件:Java or Python

2.High-Performance Image Serving
高效能的影像服務
看起來就是把picasa在供圖的那套搬過來,現在只要把原始圖片上傳存到Blobstore,就可以透過特殊的url去取得各個大小的縮圖或是切割圖片(有點像picasa的圖片同個url後面接不同的size參數就可以拿到不同大小的圖)
用這個新的方法後面的實做由內建系統幫忙完成,因此比本來處理圖片的流程(自己load圖片進來再call函式做縮放切割,再吐回給使用者)來的快很多,現在同一頁面上同時顯示上百個縮圖都沒有問題!這功能需要付費版才能使用

說明文件:
Python function get_serving_url
Java function getServingUrl

3.Custom Error Pages
可以自訂錯誤的顯示頁面,像說timeout,over quota等之前都是官方很醜的警告頁面,現在可以把他做好看一點了(雖然希望還是不要看到)

說明文件: Java or Python

4.Increased Quotas
這算是最重要的更新啦!! 現在資料庫的讀取可以一次讀取超過1000筆囉(不過還是會受到request timeout limit的限制 目前系統強制規定30秒內要回應完畢) , 剛我親自試了一下datastore確實已經可以select任意筆數的資料 超過1000筆也沒關係! 不過count()的地方好像還沒一起修正到,最大還是只回傳1000,照理來說都可以select超過1000了,count()改成能顯示超過1000沒很難才對,相信再過不久這部份應該就會修正了
(有急需的人可以改成自己手動select出來再算count 不過這樣會很慢)


另外就是現在全面提高了quota的限制,免費版的request和datastore可以存取的次數都提高到跟付費版一樣的水準了(這對我來說比較沒感覺,我本來就使用付費版)

目前最新的GAE額度限制: http://code.google.com/appengine/docs/quotas.html

5.java開發人員現在可以使用app.yaml取代本來的appengine-web.xml

6.可以從admin控制台暫停task的執行

7.admin控制台可以顯示最高達30天的流量統計圖
(哇 那我的流量顯示要改了 系統即時負載狀態 )

8.Blobstore API支援Content-Range的header

-----
其餘這次完整的release note請參考 Java and Python