제품의 사용량 기준 가격 책정을 선택한 경우, 앱의 사용량을 Service Control API에 보고해야 합니다.
Service Control에 대한 소개는 시작하기 가이드를 참조하세요.
시작하기 전에
- 앱 통합의 설명대로 Cloud Commerce Partner Procurement API에 대한 액세스를 설정합니다.
- Producer Portal을 사용하여 Service Control에서 사용할 서비스 계정을 만드는 것이 좋습니다.
(사용량 기반 가격 책정의 경우) 사용량 보고
자격이 생성되면, 다음 HTTP GET
요청을 사용하여 파트너 조달 API를 호출하여 usageReportingId
을 검색해야 합니다.
GET v1/providers/YOUR_PARTNER_ID/entitlements/ENTITLEMENT_ID
응답에는 다음 형식의 자격 관련 정보가 포함됩니다.
{ "name": "providers/YOUR_PARTNER_ID/entitlements/ENTITLEMENT_ID", "provider": "YOUR_PARTNER_ID", "account": "USER_ACCOUNT_ID", "product": "example-messaging-service", "plan": "pro", "usageReportingId": "USAGE_REPORTING_ID", "state": "ENTITLEMENT_ACTIVATION_REQUESTED", "updateTime": "...", "createTime": "..." }
사용량을 보고하려면 먼저 services.check
API 호출을 보내 서비스 구성을 확인해야 합니다. 응답에서 checkErrors[]
객체가 비어 있으면 services.report
API 호출을 수행하여 사용량 보고서를 보내십시오.
사용량 보고서는 Service Control API Operation
입니다.
다음은 고객이 사용 중인 스토리지에 대한 정보를 보내는 example-messaging-service
에 대한 사용량 보고서의 예시입니다.
POST https://servicecontrol.googleapis.com/v1/services/example-messaging-service.gcpmarketplace.example.com:report
{ "operations": [{ "operationId": "1234-example-operation-id-4567", "operationName": "Hourly Usage Report", "consumerId": "USAGE_REPORTING_ID", "startTime": "2019-02-06T12:00:00Z", "endTime": "2019-02-06T13:00:00Z", "metricValueSets": [{ "metricName": "example-messaging-service/UsageInGiB", "metricValues": [{ "int64Value": "150" }] }], "userLabels": { "cloudmarketplace.googleapis.com/resource_name": "order_history_cache", "cloudmarketplace.googleapis.com/container_name": "storefront_prod", "environment": "prod", "region": "us-west2" } }] }
각 항목의 의미는 다음과 같습니다.
operationId
는 서비스 인스턴스가 생성하는 고유한 문자열입니다.check
및report
작업에는 같은operationId
를 사용합니다.consumerId
는 자격의usageReportingId
와 동일합니다.startTime
및endTime
은report
작업의 전체 간격의 시작 및 종료 시간을 나타냅니다. 대부분의 경우report
작업의startTime
에는 이전report
작업의endTime
과 동일한 값이 있어야 합니다. 고객의 서비스가report
작업의startTime
전에 중지되면services.check
API 호출은checkErrors[]
객체에서 오류를 전송하며 해당 간격에 대한 요금은 고객에게 청구되지 않습니다.MetricValueSet
에는 중간 시간 간격 하나 이상과 해당하는 업데이트된 측정항목 값이 포함됩니다. 가격 책정 모델을 선택하고 제출할 때 서비스 측정항목을 정의합니다. Producer Portal의 기술 통합 섹션에서 측정항목 식별자를 보고 참조합니다.userLabels
는 특정 구문 요구사항을 따르는 키-값 문자열로 정의된 사용자가 만든 라벨입니다. 이러한 라벨은 기여 분석을 위해 Cloud Billing 비용 관리 도구에 전달됩니다. 사용량 라벨 지정과 관련된 권장사항은 사용량 라벨 지정 권장사항을 참조하세요.
services.check
API가 다음 오류 중 하나 이상을 리턴하면 오류가 해결될 때까지 고객에게 서비스 제공을 중지하는 것이 좋습니다.
SERVICE_NOT_ACTIVATED
BILLING_DISABLED
PROJECT_DELETED