Capabilities API untuk paket layanan lama

Dengan Capabilities API, aplikasi Anda dapat mendeteksi pemadaman layanan dan periode nonaktif terjadwal untuk kemampuan API tertentu. Anda dapat menggunakan API ini untuk mengurangi periode nonaktif di aplikasi dengan mendeteksi kapan kemampuan tidak tersedia, lalu mengabaikannya. .

Misalnya, jika menggunakan Images API untuk mengubah ukuran gambar, Anda dapat menggunakan Capabilities API untuk mendeteksi saat Images API tidak tersedia dan melewati perubahan ukuran:

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.
}

Anda dapat secara terpisah mengkueri ketersediaan pembacaan dan penulisan Datastore. Contoh berikut menunjukkan cara mendeteksi ketersediaan penulisan Datastore dan, selama periode nonaktif, memberikan pesan kepada pengguna:

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

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

Menggunakan Capabilities API di Java 8

Setiap Capability direpresentasikan sebagai konstanta statis pada class Capability, seperti Capability.DATASTORE_WRITE. Setiap Capability memiliki status yang dapat Anda ambil dari CapabilitiesService.getStatus(Capability). Setiap status memiliki enumerasi yang mencerminkan ketersediaan kemampuan: ENABLED atau DISABLED. Lihat di bawah untuk daftar layanan yang saat ini diaktifkan di API ini.

Kemampuan yang didukung

API tersebut saat ini mendukung kemampuan berikut:

Kemampuan Argumen untuk getStatus
Ketersediaan blobstore Capability.BLOBSTORE
Pembacaan Datastore Capability.DATASTORE
Penulisan Datastore Capability.DATASTORE_WRITE
Ketersediaan layanan Images Capability.IMAGES
Ketersediaan layanan Mail Capability.MAIL
Ketersediaan layanan Memcache Capability.MEMCACHE
Ketersediaan layanan Task Queue Capability.TASKQUEUE
Ketersediaan layanan URL Fetch Capability.URL_FETCH