Go 1.11 はサポートが終了しており、2026 年 1 月 31 日に非推奨になります。非推奨になると、過去に組織のポリシーを使用して以前のランタイムのデプロイを再度有効にしていた場合でも、Go 1.11 アプリケーションをデプロイできなくなります。既存の Go 1.11 アプリケーションは、非推奨日以降も引き続き実行され、トラフィックを受信します。サポートされている最新バージョンの Go に移行することをおすすめします。
アプリケーションで Capabilities API を使用すると、特定の API 機能の停止や予定されているダウンタイムを検出できます。この API を使用すると、機能が利用できなくなる時間帯を検出してバイパスできるので、アプリケーションのダウンタイムを短縮できます。capability パッケージの内容については、capability パッケージ リファレンスをご覧ください。
たとえば Datastore API を使用する場合、Capabilities API を利用すると、Datastore API が利用できないときにそれを検出したり、エラーをユーザーに報告したりできます。
funchandler(whttp.ResponseWriter,r*http.Request){ctx:=appengine.NewContext(r)// Check if the Datastore API is availableif!capability.Enabled(ctx,"datastore_v3","*"){http.Error(w,"This service is currently unavailable.",503)return}// do Datastore lookup ...}
funccheckDatastoreMode(whttp.ResponseWriter,r*http.Request){ctx:=appengine.NewContext(r)// Check if the Datastore service is in read-only mode.if!capability.Enabled(ctx,"datastore_v3","write"){// Datastore is in read-only mode.}}
Go 1.11 での Capabilities API の使用
capability.Enabled 関数は、指定された API と機能が利用可能である場合に true を返します。API のすべての機能のクエリを実行するには、機能名("write" など)またはワイルドカード "*" を渡す必要があります。