Cloud Endpoints Frameworks は、App Engine の標準の Python 2.7 ランタイム環境と Java 8 ランタイム環境に対応するウェブ フレームワークです。Cloud Endpoints Frameworks には、アプリケーション用の REST API とクライアント ライブラリを生成するためのツールとライブラリが用意されています。
他のウェブ フレームワークと同様に、Endpoints Frameworks では、アプリケーションの HTTP リクエストとレスポンスの低レベルの通信詳細を処理します。クライアントが API にリクエストを送信すると、Endpoints Frameworks はリクエストの URL を、リクエストを処理するコード内の関数またはメソッドにルーティングします。Endpoints Frameworks は戻り値を JSON に変換し、レスポンスを送信します。(Java のアノテーションと Python のデコレータを使用して)メタデータをソースコードに追加します。メタデータはアプリケーションの REST API のサーフェスを定義します。
Endpoints Frameworks では、アプリケーションに Apache Tomcat や Gunicorn などのサードパーティ ウェブサーバーをデプロイする必要はありません。App Engine スタンダード環境で通常行うのと同じように、コードにアノテーションを付けるかコードをデコレートして、アプリケーションをデプロイします。
API 管理
Extensible Service Proxy(ESP)により、Endpoints for OpenAPI と Endpoints for gRPC の API 管理機能が提供されます。ESP はバックエンドの各インスタンスとともに、コンテナ内で稼働します。
Endpoints Frameworks が開発中のとき、App Engine スタンダード環境はマルチコンテナのデプロイをサポートしていなかったため、Endpoints Frameworks は ESP を使用しません。代わりに、Endpoints Frameworks には API 管理機能を提供する API ゲートウェイが組み込まれています。これは Cloud Endpoints for OpenAPI と Cloud Endpoints for gRPC に対して ESP が提供している機能に匹敵します。
Endpoints Frameworks はすべてのリクエストを傍受し、API バックエンドにリクエストを転送する前に必要なチェック(認証など)を行います。バックエンドが応答すると、Endpoints Frameworks はテレメトリーを収集して報告します。API の指標は、Google Cloud コンソールの [Endpoints] > [サービス] ページで確認できます。
Endpoints Frameworks は、API 管理機能の有無に関係なく使用できます。API 管理機能なしの Endpoints Frameworks は、無料で使用できます。API 管理機能は、Endpoints 料金ページに従って課金されます。
制限事項
- Endpoints Frameworks は、App Engine の標準の Python 2.7 ランタイム環境と Java 8 ランタイム環境でのみサポートされています。
- Endpoints Frameworks では、App Engine スタンダード環境の Node.js、PHP、Go ランタイム環境をサポートしていません。
- Endpoints Frameworks では、App Engine フレキシブル環境をサポートしていません。
- Endpoints Frameworks では、Cloud Run 関数、Compute Engine、Google Kubernetes Engine をサポートしていません。
次のステップ
ESP と Endpoints Frameworks の違いについては、Extensible Service Proxy と Endpoints Frameworks の比較をご覧ください。
言語固有のライブラリとツールについては、以下をご覧ください。
サンプル API へのリクエストを構成、デプロイ、送信する方法については、次をご覧ください。