本頁說明 App Engine 標準環境適用的 Endpoints Frameworks 與 可擴充服務 Proxy (ESP) 之間的差異。後者用於 Cloud Endpoints for API,可使用 OpenAPI 或 gRPC。如要進一步瞭解 Endpoints 選項,請參閱「選擇 Endpoints 選項」。
總覽
Cloud Endpoints 是 API 管理系統,能協助您運用 Google 用於自家 API 的基礎架構來防護、監控、分析您的 API,以及設定 API 配額。API 管理功能包括驗證、API 金鑰、監控、記錄,以及追蹤,不需採用實作 API 所用的技術。API 管理功能透過 ESP 或 Endpoints Frameworks 提供。
可擴充服務 Proxy
在 OpenAPI 和 gRPC 專用的 Endpoints 中,API 要求會透過可擴充服務 Proxy 轉送,後者會使用 Service Control API 驗證金鑰和驗證權杖,並傳送信號 (指標和記錄)。ESP 提供的分離功能,可讓您使用任何語言編寫 REST 或 gRPC 後端程式碼,並使用 gRPC 或任何支援使用 OpenAPI 說明 API 的架構。
使用 OpenAPI 的 API:API 後端可以執行於 App Engine 彈性環境、Google Kubernetes Engine (GKE)、Compute Engine、Kubernetes 或內部部署作業。
使用 gRPC 的 API:API 後端可執行於 GKE、Compute Engine、Kubernetes 或內部部署作業。
會傳送要求至下列路徑:
- 接收傳送至程式碼的要求後,再將要求傳送至 ESP。
- ESP 傳送檢查要求至 Service Control。
- 如果您設定的 API 規定要有 API 金鑰或須進行驗證,Service Control 會檢查並確認該項要求是否符合允許條件,再傳送回應到 ESP。
- 如果該項要求不符合允許條件,ESP 會拒絕要求。如果要求符合允許條件,ESP 會將要求轉送到您的後端程式碼。無論何種方式,ESP 都會記錄該項要求的相關資訊。
Cloud Endpoints API 管理功能的定價取決於每個月的呼叫次數。
Endpoints Frameworks
如果 API 後端執行於 App Engine 標準環境,開發人員可借助 Endpoints Frameworks 快速開始提供 API。Endpoints Frameworks 是一種網路架構,能夠取代 Python Flask 或 Java Jersey。Endpoints Frameworks 整合於 Service Control API,也就是說,使用 Endpoints Frameworks 的後端就不需要在可擴充服務 Proxy 後端執行。
如果您啟用了 API 管理,要求會依照下列路徑傳送:
- 接收傳送到程式碼的要求後,再將要求傳送到 Endpoints Frameworks 內的 Endpoints 管理模組。
- Endpoints 管理模組傳送檢查要求到 Service Control。
- 如果您設定的 API 規定要有 API 金鑰或須進行驗證,Service Control 會檢查並確認該項要求是否符合允許條件,再傳送回應到 Endpoints 管理模組。
- 如果該項要求不符合允許條件,Endpoints 管理模組會拒絕要求。如果要求符合允許條件,系統會將要求轉送到 Endpoints Frameworks。無論何種方式,Endpoints 管理模組都會記錄該項要求的相關資訊。
- Endpoints Frameworks 會將要求轉送到您的後端程式碼。
Endpoints Frameworks 可搭配或不搭配使用 API 管理功能。如果未搭配 API 管理功能,使用 Endpoints Frameworks 就不需付費。API 管理功能根據 Cloud Endpoints 定價頁面計費。
只有執行於 App Engine 標準環境的服務支援 Endpoints Frameworks。如果您的服務執行於 Compute Engine、GKE、App Engine 彈性環境或其他環境,則服務必須在 ESP 後端執行。
如果服務在 ESP 後端執行,就可以使用任何語言和架構來編寫後端程式碼,例如 Python Flask、Java Jersey 或 Node.js Express。這類環境不需使用 Endpoints Frameworks 就可以管理 API。
相關資源
如要瞭解如何新增 API 管理,請參閱:
如要瞭解如何移除 API 管理,請參閱: