适用于旧版捆绑服务的 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) 中检索该状态。每个状态 (state) 也具有状态 (status),即反映功能可用性的枚举:ENABLEDDISABLED。请参阅下文,了解此 API 中当前启用的服务的列表

支持的功能

API 目前支持以下功能:

Capability getStatus 的参数
Blobstore 的可用性 Capability.BLOBSTORE
数据存储区读取 Capability.DATASTORE
数据存储区写入 Capability.DATASTORE_WRITE
Google 图片服务的可用性 Capability.IMAGES
邮件服务的可用性 Capability.MAIL
Memcache 服务的可用性 Capability.MEMCACHE
任务队列服务的可用性 Capability.TASKQUEUE
URL Fetch 服务的可用性 Capability.URL_FETCH