Cloud Endpoints 프레임워크

Cloud Endpoints 프레임워크는 App Engine 표준 Python 2.7 및 자바 8 런타임 환경을 위한 웹 프레임워크입니다. Cloud Endpoints 프레임워크가 제공하는 도구와 라이브러리를 사용하면 애플리케이션에 사용할 REST API 및 클라이언트 라이브러리를 생성할 수 있습니다.

다른 웹 프레임워크와 마찬가지로 Endpoints 프레임워크는 애플리케이션의 HTTP 요청과 응답에 대한 하위 수준 통신 세부정보를 처리합니다. 클라이언트가 API로 요청을 전송하면 Endpoints 프레임워크는 요청을 처리하는 코드의 함수 또는 메서드로 요청의 URL을 라우팅합니다. Endpoints 프레임워크는 반환 값을 JSON으로 변환하고 응답을 전송합니다. 사용자는 자바의 주석과 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 프레임워크를 사용하면 Apache Tomcat, Gunicorn 등의 타사 웹 서버를 애플리케이션과 함께 배포할 필요가 없습니다. 코드에 주석이나 데코레이션을 추가한 후 평소와 같이 애플리케이션을 App Engine 표준 환경에 배포하기만 하면 됩니다.

API 관리

Extensible Service Proxy(ESP)는 OpenAPI용 Endpoints 및 gRPC용 Endpoints에 대한 API 관리 기능을 제공합니다. ESP는 백엔드의 각 인스턴스와 함께 컨테이너에서 실행됩니다.

Endpoints Frameworks의 개발 단계에서는 App Engine 표준 환경이 다중 컨테이너 배포를 지원하지 않았으므로 Endpoints Frameworks는 ESP를 사용하지 않습니다. 그 대신 Endpoints Frameworks에는 ESP가 OpenAPI용 Endpoints 및 gRPC용 Endpoints에 제공하는 기능과 비슷한 API 관리 기능을 제공하는 API 게이트웨이가 내장되어 있습니다.

Endpoints 프레임워크는 모든 요청을 가로채고 인증 등의 필요한 검사를 수행한 후에 요청을 API 백엔드로 전달합니다. 백엔드가 응답하면 Endpoints 프레임워크는 원격 분석 데이터를 수집하고 보고합니다. API의 측정항목은 Google Cloud Console의 Endpoints 서비스 페이지에서 확인할 수 있습니다.

API 관리 기능을 포함하거나 포함하지 않고 Endpoints 프레임워크를 사용할 수 있습니다. API 관리 기능 없이 Endpoints 프레임워크를 사용하는 것은 무료입니다. API 관리 기능 비용은 Endpoints 가격 페이지에 따라 청구됩니다.

제한사항

  • Endpoints 프레임워크는 App Engine 표준 Python 2.7 및 자바 8 런타임 환경에서만 지원됩니다.
  • Endpoints 프레임워크는 App Engine 표준 환경의 Node.js, PHP, Go 런타임 환경을 지원하지 않습니다.
  • Endpoints 프레임워크는 App Engine 가변형 환경을 지원하지 않습니다.
  • Endpoints 프레임워크는 Cloud Functions, Compute Engine, Google Kubernetes Engine을 지원하지 않습니다.

다음 단계