이 페이지에서는 Cloud Endpoints 프레임워크에서 API 할당량을 구성하는 방법을 설명합니다. 할당량이 제공하는 기능의 개요는 할당량 정보를 참조하세요.
자바
다음 절차는 이미 아래 작업을 완료했다고 가정합니다.
- API에 대한 코드 작성 및 주석 추가
- API 관리 추가
- API 배포
- API 키를 사용하도록 API 구성. 이를 통해 Endpoints 프레임워크가 호출 애플리케이션이 연결된 Google Cloud 프로젝트를 식별할 수 있습니다. 자세한 내용은 API 키로 보호되는 API 공유를 참조하세요.
API에 할당량을 구성하는 방법은 다음과 같습니다.
API 범위 주석이 포함된 파일에서 @Api 주석에 다음을 추가합니다.
limitDefinitions = { @ApiLimitMetric( name = "YOUR_METRIC_NAME", displayName = "YOUR_METRIC_DISPLAY_NAME", limit = YOUR_QUOTA_LIMIT) }
YOUR_METRIC_NAME
을 API 요청 카운터를 설명하는 이름으로 바꿉니다.YOUR_METRIC_DISPLAY_NAME
을 Endpoints > 서비스 > 할당량 페이지에서 할당량을 식별할 수 있도록 표시된 텍스트로 바꿉니다.YOUR_QUOTA_LIMIT
를 정수 값으로 바꿉니다. 이 값은 소비자의 Google Cloud 프로젝트와 연결된 애플리케이션이 1분 동안 수행할 수 있는 요청 수입니다. 예를 들면 다음과 같습니다.@Api( name = "echo", version = "v1", namespace = @ApiNamespace( ownerDomain = "echo.example.com", ownerName = "echo.example.com", packagePath = "" ), limitDefinitions = { @ApiLimitMetric( name = "read-requests", displayName = "Read requests", limit = 1000), @ApiLimitMetric( name = "list-requests", displayName = "List requests", limit = 100), @ApiLimitMetric( name = "write-requests", displayName = "Write requests", limit = 50), } )
할당량을 적용할 메서드마다
@ApiMethod
주석에 다음을 추가합니다.metricCosts = { @ApiMetricCost( name ="YOUR_METRIC_NAME", cost = YOUR_COST) }
YOUR_METRIC_NAME
을@Api
주석의limitDefinitions
매개변수에서 지정한 이름으로 바꿉니다.YOUR_COST
를 각 요청의 비용을 지정하는 정수 값으로 바꿉니다.예를 들면 다음과 같습니다.
@ApiMethod(name = "echo", metricCosts = { @ApiMetricCost( name = "read-requests", cost = 1) }) public Message echo(Message message, @Named("n") @Nullable Integer n) { // ...function code here... }
할당량에서 사용하는 주석에 대한 자세한 내용은 다음을 참조하세요.
Python
다음 절차에서는 이미 다음 작업을 완료했다고 가정합니다.
- 버전 2.4.5 이상의 Endpoints Frameworks 라이브러리 설치
- API 생성
- 웹 서버 생성
- API 관리 추가
- API 배포
- API 키를 사용하도록 API 구성. 이를 통해 Endpoints 프레임워크가 호출 애플리케이션이 연결된 Google Cloud 프로젝트를 식별할 수 있습니다. 자세한 내용은 API 키로 보호되는 API 공유를 참조하세요.
API에서 할당량을 구성하려면 다음을 따르세요.
API 데코레이터가 포함된 파일에서 다음과 비슷하게
LimitDefinition
인스턴스 목록을 만듭니다.quota_limits = [ endpoints.LimitDefinition( "YOUR_METRIC_NAME", "YOUR_METRIC_DISPLAY_NAME", limit) ]
YOUR_METRIC_NAME
을 API 요청 카운터를 설명하는 이름으로 바꿉니다.YOUR_METRIC_DISPLAY_NAME
을 Endpoints > 서비스 > 할당량 페이지에서 할당량을 식별할 수 있도록 표시된 텍스트로 바꿉니다.limit
를 정수 값으로 바꿉니다. 이 값은 소비자의 Google Cloud 프로젝트와 연결된 애플리케이션이 1분 동안 수행할 수 있는 요청 수입니다. 예를 들면 다음과 같습니다.quota_limits = [ endpoints.LimitDefinition('read-requests', 'Read Requests', 1000), endpoints.LimitDefinition('list-requests', 'List Requests', 100), endpoints.LimitDefinition('write-requests', 'Write Requests', 50), ]
limit_definitions
인수에 할당하여 API 데코레이터에 할당량을 추가합니다. 예를 들면 다음과 같습니다.@endpoints.api(name='bookstore', version='v1', limit_definitions=quota_limits)
할당량을 적용할 메서드마다 메서드 데코레이터의
METRIC_COSTS
의 인수에 사전을 할당합니다. 키는 API 데코레이터에 대한limit_definitions
인수에서 지정한 이름이어야 하며, 값은 각 요청의 비용을 지정하는 정수입니다. 예를 들면 다음과 같습니다.@endpoints.method(path='shelves/{shelf}', http_method='GET', metric_costs={'read-requests': 1}) def get_shelf(self, request): # ...function code here...
할당량에서 사용하는 데코레이터에 대한 자세한 내용은 다음을 참조하세요.