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