使用標籤的最佳做法

對於以用量計費的 SaaS 產品,Google Cloud Marketplace 會將用量歸因於單一Google Cloud 專案,並由 usageReportingId 欄位指定。在某些情況下,SaaS 產品可能會在客戶機構內廣泛共用,並用於許多客戶專案。為支援更具體的成本歸因,建議以用量為準的 SaaS 產品在用量報表的作業中加入選用的 userLabels 欄位。

如果您的服務已支援資源標籤概念,建議您在使用率報表中轉寄這些標籤。標籤必須符合語法規定

用量標籤

Cloud Marketplace 保留下列標籤。您可以使用這些標籤,在服務平台中識別其他用途的額外背景資訊。建議您在預設情況下將這些標籤納入用量報表。

標籤鍵標籤值說明>
cloudmarketplace.googleapis.com/resource_name USER_SUPPLIED 與用量指標相關聯的資源名稱。
cloudmarketplace.googleapis.com/container_name USER_SUPPLIED 資源容器的名稱。

標籤會轉送至 Cloud Billing 費用管理工具,包括費用報表帳單匯出

使用標籤示例

假設貴機構提供名為 SaaS 儲存空間解決方案的儲存空間產品。

客戶 Carl 已為其Google Cloud 專案 e-commerce-website 購買您的儲存空間服務,以便代管電子商務網站的 user_profiles_dbproducts_db 資料庫:

  • user_profiles_db 包含造訪 Carl 網站的使用者相關資訊。
  • products_db 包含 Carl 在網站上販售的產品資訊。

如果您想向 Carl 提供詳細的費用明細,可以使用 userLabels 鍵/值組合,分別回報每個資料庫的費用。

舉例來說,如要回報歸因於 Carl 的 products_db 儲存空間用量所產生的費用,您可以傳送下列報表,指出 Carl 的 products_db 儲存空間費用為 100 個單位:

operation = {
  'operationId': '<UUID>',
  'operationName': 'db-total-storage',
  'consumerId': 'project:carl_website',
  'startTime': '<Timestamp>',
  'endTime': '<Timestamp>',
  'metricValues': [{
      'int64Value': 100,
  }],
  'userLabels': {
    'cloudmarketplace.googleapis.com/container_name': 'e-commerce-website',
    'cloudmarketplace.googleapis.com/resource_name': 'products_db'
  }
}

service.services().report(
  serviceName=service_name, body={
    'operations': [operation]
}).execute()

在本例中,service_name 是 Carl Google Cloud專案的專案 ID。

如需 userLabels 使用方式的詳細範例,請參閱 SaaS 程式碼研究室