本页面介绍如何使用 Service Infrastructure 启用托管式服务以发送结算用量数据,从而使 Cloud Billing 能够针对服务使用方收费。
例如,您可以定义一个名为 library.appspot.com/books/borrowed
的指标来度量客户借阅的书籍数量,并定义其库存量单位 (SKU) 和价格。
Service Control API 接受由其批量处理、汇总并转发到 Cloud Billing 的指标。Cloud Billing 会获取这些指标并根据预定义的价格模型生成账单。如果没有预定义的价格模型,Cloud Billing 会直接忽略结算指标。如要定义价格模型,请与您的 Google Cloud 合作伙伴客户经理联系。
配置结算功能
在向 Service Control API 发送结算数据之前,您需要在服务配置中指定三种不同的信息:
受监控的资源:您可以收集每项资源的结算功能使用情况。受监控的资源至少需要一个标签密钥
cloud.googleapis.com/location
来指示计费使用的位置。指标:您可以报告一个或多个指标。每个指标都会衡量指定类型的资源的使用情况。只有包含 INT64 值的 DELTA 指标才可用于结算。
结算配置:可让您指定要发送到 Cloud Billing 的指标。
以下示例服务配置定义了一个用于统计客户借用的图书数量的指标。客户端可以调用 services.report
方法来报告该指标值。如需详细了解结算配置,请访问 billing.proto。
# library
monitored_resources:
- type: library.appspot.com/branch
labels:
- key: cloud.googleapis.com/location
description: The cloud location.
- key: library.appspot.com/city
description: The city where the library branch is located in.
# The metrics to be used.
metrics:
- name: library.appspot.com/books/borrowed
metric_kind: DELTA
value_type: INT64
unit: '1'
# The billing configuration.
billing:
consumer_destinations:
- monitored_resource: library.appspot.com/branch
metrics:
- library.appspot.com/books/borrowed
报告结算指标
在服务配置中配置完监控服务并使用 Service Management API 推送服务配置后,您就可以调用 Service Control API 来报告指标了。下面的示例使用 gcurl
命令演示该调用。如需了解如何进行这项设置,请参阅 Service Control API 使用入门。
$ gcurl -d "{
'operations': [ {
'operationId': '8356d3c5-f9b5-4274-b4f9-079a3731e6e5',
'consumerId': 'project:library-consumer',
'startTime': '`date +%FT%T%:z`',
'endTime': '`date +%FT%T%:z`',
'labels': {
'cloud.googleapis.com/location': 'us-west1',
'library.appspot.com/city': 'Kirkland',
},
'metricValueSets': [ {
'metricName': 'library.appspot.com/books/borrowed',
'metricValues': [ { 'int64Value': '10' } ]
} ]
} ]
}" https://servicecontrol.googleapis.com/v1/services/library.appspot.com:report