באמצעות 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)
שימוש ב-Capabilities API
המחלקות CapabilitySet מגדירות את כל ה-methods שזמינים ב-API הזה. אפשר לתת שמות ליכולות באופן מפורש או להסיק אותן מהשיטות שמסופקות על ידי המחלקה הזו. בקטע הבא מופיעה רשימה של השירותים שמופעלים כרגע בממשק ה-API הזה.
יכולות נתמכות
בשלב הזה, ה-API תומך ביכולות הבאות:
| יכולת | ארגומנטים ל-CapabilitySet |
|---|---|
| זמינות של Blobstore | "blobstore" |
| קריאות ל-Datastore | "datastore_v3" |
| כתיבה ב-Datastore | "datastore_v3", ["write"] |
| זמינות שירות התמונות | "images" |
| הזמינות של שירות האימייל | "mail" |
| זמינות שירות Memcache | "memcache" |
| זמינות של שירות Task Queue | "taskqueue" |
| זמינות שירות אחזור של כתובות אתרים | "urlfetch" |