Práticas recomendadas para geração de relatórios de uso

Para produtos SaaS baseados no uso, o Google Cloud Marketplace atribui o uso a um único projeto do Google Cloud, especificado pelo campo usageReportingId. Em alguns cenários, um produto de SaaS pode ser compartilhado de forma ampla na organização de um cliente e usado em vários projetos do cliente. Para aceitar a atribuição de custos mais específica, recomendamos que os produtos SaaS baseados em uso incluam o campo userLabels opcional no relatório de uso operação.

Se o serviço já oferece suporte a um conceito de rótulos de recursos, recomendamos que você os encaminhe nos relatórios de uso. Os rótulos precisam estar em conformidade com os requisitos de sintaxe.

Rótulos de uso

O Cloud Marketplace reserva os rótulos a seguir. Use esses identificadores para identificar mais contexto para uso na sua plataforma de serviço. Recomendamos que você inclua esses rótulos nos relatórios de uso por padrão.

Chave do rótuloValor da etiquetaDescrição>
cloudmarketplace.googleapis.com/resource_name USER_SUPPLIED O nome do recurso associado a uma métrica de uso.
cloudmarketplace.googleapis.com/container_name USER_SUPPLIED O nome de um contêiner de recursos.

Os rótulos são encaminhados para as ferramentas de gerenciamento de custos do Cloud Billing, incluindo relatórios de custos e exportações de faturamento.

Exemplo de rotulagem de uso

Para este exemplo, imagine que sua organização ofereça um produto de armazenamento chamado Soluções de armazenamento de SaaS.

Um cliente, Carl, comprou sua oferta de armazenamento para o projeto e-commerce-website do Google Cloud, para hospedar os bancos de dados user_profiles_db e products_db do site de e-commerce dele:

  • user_profiles_db contém informações sobre os usuários que visitam o site de Carl.
  • products_db contém informações sobre os produtos que Carl vende no site.

Se você quiser fornecer a Carl um detalhamento de custos do uso, use o par de chave-valor userLabels para informar o custo de uso de cada banco de dados separadamente.

Por exemplo, para informar o custo atribuído ao uso de armazenamento products_db de Carl, você pode enviar o relatório a seguir, que indica que o armazenamento products_db de Carl está custando 100 unidades:

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()

Neste exemplo, service_name é o ID do projeto do Google Cloud de Carl.

Para conferir um exemplo mais detalhado de como usar userLabels, consulte o codelab de SaaS.