舊版套裝組合服務的 Capabilities API

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

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

import com.google.appengine.api.capabilities.*;

CapabilitiesService service =
    CapabilitiesServiceFactory.getCapabilitiesService();
CapabilityStatus status = service.getStatus(Capability.IMAGES).getStatus();

if (status == CapabilityStatus.DISABLED) {
    // Images API is not available.
}

您可以單獨查詢 Datastore 讀取與寫入功能的可用性。以下範例說明如何偵測 Datastore 寫入的可用性,並在停機時間向使用者提供訊息:

CapabilityStatus status =
    service.getStatus(Capability.DATASTORE_WRITE).getStatus();

if (status == CapabilityStatus.DISABLED) {
    // Datastore is in read-only mode.
}

在 Java 8 中使用 Capabilities API

每個 Capability 在 Capability 類別中都是以靜態常數表示,例如 Capability.DATASTORE_WRITE。每個 Capability 都有一個狀態,您可以從 CapabilitiesService.getStatus(Capability) 擷取。每個狀態都有一個狀態,該狀態會反映出特定功能的可用性:ENABLEDDISABLED。請參閱下方內容,取得這個 API 目前已啟用的服務清單

支援的功能

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

功能 getStatus 的引數
Blobstore 的可用性 Capability.BLOBSTORE
讀取資料儲存庫 Capability.DATASTORE
資料儲存庫的寫入功能 Capability.DATASTORE_WRITE
圖片服務的可用性 Capability.IMAGES
郵件服務的可用性 Capability.MAIL
Memcache 服務的可用性 Capability.MEMCACHE
工作佇列服務的可用性 Capability.TASKQUEUE
網址擷取服務的可用性 Capability.URL_FETCH