Java 8 適用的 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 中使用 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