Capabilities Python API 總覽

您的應用程式可使用 Capabilities API 來偵測特定 API 功能的運作中斷和排定的停機時間。您可以使用這個 API 來偵測功能無法使用的時間,然後略過該功能,藉此縮短應用程式中的停機時間。

舉例來說,如果您使用 Images API 調整圖片大小,您可以利用 Capabilities API 來偵測 Images API 無法使用的時間,並略過調整大小:

from google.appengine.api import capabilities

def StoreUploadedProfileImage(self):
    uploaded_image = self.request.get('img')
    # If the images API is unavailable, we'll just skip the resize.
    if capabilities.CapabilitySet('images').is_enabled():
        uploaded_image = images.resize(uploaded_image, 64, 64)
    store(uploaded_image)

Datastore API 提供了方便資料儲存庫讀取和寫入功能的包裝函式。雖然只需將功能名稱以引數的形式提供給 CapabilitySet(),即可測試功能,但在這種情況下,您也可使用 db.、READ_CAPABILITYdb.WRITE_CAPABILITY 便利 CapabilitySet 物件。以下範例顯示如何使用便利包裝函式,偵測資料儲存庫的寫入可用性,以及如何在停機期間向使用者提供相關訊息:

from google.appengine.ext import db

def RenderHTMLForm(self):
    if not db.WRITE_CAPABILITY.is_enabled():
        # Datastore is in read-only mode.

在 Python 中使用 Capabilities API

CapabilitySet 類別定義了此 API 所有的可用方法,您可以明確地指出功能,或是透過此類別提供的方法去推測這些功能。目前此 API 啟用的服務清單如下所示:

支援的功能

這個 API 目前支援下列功能:

功能 CapabilitySet 的引數
Blobstore 的可用性 "blobstore"
資料儲存庫的讀取功能 "datastore_v3"
資料儲存庫的寫入功能 "datastore_v3", ["write"]
圖片服務的可用性 "images"
郵件服務的可用性 "mail"
記憶快取服務的可用性 "memcache"
工作佇列服務的可用性 "taskqueue"
網址擷取服務的可用性 "urlfetch"
本頁內容對您是否有任何幫助?請提供意見:

傳送您對下列選項的寶貴意見...

這個網頁
App Engine standard environment for Python 2