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