アプリケーションで Capabilities API を使用すると、特定の API 機能の停止や予定されているダウンタイムを検出できます。この API を使用すると、機能が利用できなくなる時間帯を検出してバイパスできるので、アプリケーションのダウンタイムを短縮できます。
capability パッケージの内容については、capability パッケージ リファレンスをご覧ください。
たとえば Datastore API を使用する場合、Capabilities API を利用すると、Datastore API が利用できないときにそれを検出したり、エラーをユーザーに報告したりできます。
データストアの読み取りと書き込みが可能かどうかを調べるには、別のクエリを実行できます。次の例は、データストアが書き込み可能であるかを確認し、ダウンタイム中であればユーザーにメッセージを表示する方法を示しています。
Capabilities API の使用
capability.Enabled 関数は、指定された API と機能が利用可能である場合に true を返します。API のすべての機能のクエリを実行するには、機能名("write" など)またはワイルドカード "*" を渡す必要があります。
サポートされている機能
この API は現在、次の機能をサポートしています。
| 機能 | Enabled への引数 |
|---|---|
| blobstore の利用可否 | "blobstore", "*" |
| Datastore の読み取り | "datastore_v3", "*" |
| Datastore の書き込み | "datastore_v3", "write" |
| メールサービスの利用可否 | "mail", "*" |
| Memcache サービスの利用可否 | "memcache", "*" |
| タスクキュー サービスの利用可否 | "taskqueue", "*" |
| URL 取得サービスの利用可否 | "urlfetch", "*" |