이 페이지에서는 Service Consumer Management API를 사용하여 서비스의 개별 소비자에게 적용된 할당량 제한을 확인하고 재정의하는 방법을 보여줍니다.
이 가이드에 사용된 용어를 이해하기 위해서는 서비스 할당량 모델을 숙지해야 합니다.
Service Infrastructure API를 사용해서 프로그래밍하려면 Google에서 제공된 클라이언트 라이브러리 중 하나를 사용하는 것이 좋습니다. API를 실험해보려면 이 가이드의 안내에 따라 curl
명령어를 사용해서 전체 애플리케이션 개발 환경을 설정하지 않고 API를 테스트할 수 있습니다.
서비스 할당량 표시
이 가이드에서는 consumer-project-id
라는 프로젝트와 myservice.appspot.com
이라는 서비스가 사용됩니다. 각 gcurl
명령어에서 사용할 때 원하는 서비스 및 소비자 프로젝트로 바꾸세요.
gcurl
을 사용하려면 먼저 인증 토큰과 함께 다음 alias
명령어를 실행합니다.
alias gcurl='curl -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json"'
자세한 내용은 시작하기를 참조하세요.
모든 측정항목에서 특정 소비자에 적용되는 할당량 제한을 모두 보려면 다음 메서드를 사용하세요.
gcurl https://serviceconsumermanagement.googleapis.com/v1beta1/services/myservice.appspot.com/projects/consumer-project-id/consumerQuotaMetrics
이 호출은 서비스에서 정의된 측정항목 목록에 대응됩니다. 각 항목에는 이 소비자에 적용되는 측정항목에 대한 제한 목록과 그러한 제한에 해당하는 값, 모든 우선 적용 값이 포함됩니다. 응답 예시는 다음과 같습니다.
{
"metrics": [
{
"name": "services/myservice.appspot.com/projects/consumer-project-id/consumerQuotaMetrics/airport_requests",
"metric": "airport_requests"
"displayName": "Airport Requests"
"consumerQuotaLimits": [
{
"name": "services/myservice.appspot.com/projects/consumer-project-id/consumerQuotaMetrics/airport_requests/limits/%2Fmin%2Fproject",
"metric": "airport_requests",
"unit": "1/min/{project}",
"quotaBuckets": [
{
"effectiveLimit": "5",
"defaultLimit": "5",
}
]
}
],
}
]
}
응답의 각 측정항목에는 이름 필드가 있습니다. 모든 측정항목 대신 해당 측정항목에 대해서만 할당량 설정을 조사하려면 URL에서 해당 이름을 사용합니다.
gcurl https://serviceconsumermanagement.googleapis.com/v1beta1/{name}
마찬가지로 측정항목 내의 각 제한에는 이름 필드가 있습니다. 한 측정항목의 또는 모든 측정항목의 모든 제한 대신 해당 측정항목의 해당 제한에 대해서만 할당량 설정을 조사하려면 URL에 해당 이름을 사용합니다.
gcurl https://serviceconsumermanagement.googleapis.com/v1beta1/{name}
제작자 우선 적용값 적용
서비스의 소유자 또는 관리자는 특정 소비자의 특정 제한에 제작자 우선 적용값을 적용하여, 해당 제한에 대한 할당량 증가를 부여할 수 있습니다.
제한을 확인하려면 먼저 위에 표시된 방법 중 하나에 따라 원하는 할당량 제한을 찾고, 해당 이름 필드를 사용해서 여기에 제작자 우선 적용값을 적용합니다.
gcurl https://serviceconsumermanagement.googleapis.com/v1beta1/{name}/producerOverrides -d '{"override": {"override_value": "12345"} }'
이 호출은 새로운 우선 적용 값을 적용하거나 기존 우선 적용 값을 새로운 값으로 업데이트하는 데 사용될 수 있습니다. 제한에 무제한 할당량을 부여하려면 우선 적용 값으로 '-1'을 사용합니다.
호출이 성공하면 할당량 변경이 백엔드 시스템으로 전달될 때 서버에서 진행 중인 작업을 나타내는 작업 식별자가 반환됩니다.
{
"name": "operations/quf.92accba3-6530-4fc1-9a95-c1280d48a6b7"
}
작업 진행 상태를 확인하려면 해당 이름을 사용합니다.
gcurl https://serviceconsumermanagement.googleapis.com/v1/{name}
이 호출이 "done":true가 포함된 메시지로 대응하면 작업이 완료된 것입니다. 작업이 실패했으면 메시지에 오류 세부정보가 포함됩니다.
또한 특정 제한에 원래 get 호출을 반복하여 변경사항이 적용되었는지 여부를 확인할 수 있습니다. 제한에 이제 추가적인 'producerOverride' 필드가 포함됩니다.
큰 할당량 변경 강제 적용
우선 적용 값으로 인해 적용된 할당량이 10% 이상 감소하면 실수로 인해 할당량이 너무 빠르게 감소하지 않도록 방지하기 위한 안전 조치에 따라 호출이 거부됩니다. 이러한 제한을 무시하려면 force 플래그를 사용합니다.
gcurl https://serviceconsumermanagement.googleapis.com/v1beta1/{name}/producerOverrides -d '{"override": {"override_value": "0"}, "force": true}'
리전별 또는 영역별 할당량 우선 적용값 적용
일부 할당량 제한은 리전 또는 영역 기준으로 적용됩니다. 이것은 제한 단위에 표시된 /{region} 또는 /{zone}을 통해 알 수 있습니다.
이러한 제한에 우선 적용값을 적용하면 모든 리전 또는 영역에서 기본 할당량이 변경됩니다. 특정 리전 또는 영역에서만 할당량을 변경하려면 위치 필드를 사용합니다.
gcurl https://serviceconsumermanagement.googleapis.com/v1beta1/{name}/producerOverrides -d '{"override": {"override_value": "135", "dimensions": {"region": "asia-south1"} } }'