Cloud Endpoints Frameworks

Cloud Endpoints Frameworks 是 App Engine 標準 Python 2.7 和 Java 8 執行階段環境適用的網路架構。Cloud Endpoints Frameworks 提供各種工具及程式庫,協助您產生適合應用程式的 REST API 及用戶端程式庫。

Endpoints Frameworks 和其他網路架構一樣,負責為您的應用程式處理 HTTP 要求與回應的低階通訊詳細資料。用戶端傳送要求至您的 API 時,Endpoints Frameworks 會將該要求的網址,轉送至負責處理要求的程式碼內部函式或方法。Endpoints Frameworks 會將傳回的值轉換為 JSON 並傳送回應。您可以在原始碼中加入中繼資料 (在 Java 中使用註解,並在 Python 中使用裝飾器),中繼資料定義您應用程式的 REST API 介面

Java

@ApiMethod(name = "echo")
public Message echo(Message message, @Named("n") @Nullable Integer n) {
  return doEcho(message, n);
}

在範例程式碼中,註解是以 @ 字元做為開頭。

Python

@endpoints.method(
    # This method takes a ResourceContainer defined above.
    ECHO_RESOURCE,
    # This method returns an Echo message.
    EchoResponse,
    path="echo",
    http_method="POST",
    name="echo",
)
def echo(self, request):
    output_message = " ".join([request.message] * request.n)
    return EchoResponse(message=output_message)

在範例程式碼中,裝飾器是以 @ 字元做為開頭。

您使用 Endpoints Frameworks 時,不必以您的應用程式部署第三方網路伺服器 (例如 Apache Tomcat 或 Gunicorn)。您可以像平常對 App Engine 標準環境所做的一樣,註解或修飾程式碼及部署應用程式。

API 管理

可擴充服務 Proxy (ESP) 提供 API 管理功能,適用於 OpenAPI 專用的 Endpoints 與 gRPC 專用的 Endpoints。ESP 會和後端的每個執行個體一起在容器中執行。

由於 App Engine 標準環境在 Endpoints Frameworks 開發階段不支援多容器部署作業,因此 Endpoints Frameworks 不會使用 ESP,而會改為加入內建的 API 閘道來提供 API 管理功能,這些功能與 ESP 針對 OpenAPI 專用的 Endpoints 與 gRPC 專用的 Endpoints 所提供的功能不相上下。

Endpoints Frameworks 可攔截所有要求並執行任何必要檢查 (例如驗證),然後再將要求轉送至 API 後端。當後端回應時,Endpoints Frameworks 會收集並回報遙測資料。您可以在 Google Cloud 控制台的「Endpoints Services」(Endpoints 服務) 頁面查看 API 指標。

Endpoints Frameworks 可搭配或不搭配使用 API 管理功能。使用 Endpoints Frameworks 時若未搭配 API 管理功能,即不需付費。API 管理功能根據 Endpoints 定價頁面計費。

限制

  • 只有 App Engine 標準 Python 2.7 與 Java 8 執行階段環境支援 Endpoints Frameworks。
  • 在 App Engine 標準環境中,Endpoints Frameworks 不支援 Node.js、PHP 與 Go 執行階段環境。
  • Endpoints Frameworks 不支援 App Engine 彈性環境。
  • Endpoints Frameworks 不支援 Cloud Run 函式、Compute Engine 和 Google Kubernetes Engine。

後續步驟