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 SaaS pode ser amplamente compartilhado dentro da organização de um cliente e usado em muitos 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 requisitos de sintaxe.

Rótulos de uso

O Cloud Marketplace reserva os rótulos a seguir. Use esses rótulos 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 oferece 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 Carlos.
  • products_db contém informações sobre os produtos que Carlos vende na loja site.

Se quiser fornecer a Carlos um detalhamento dos custos do uso, poderá use o par de chave-valor userLabels para informar o custo de uso de cada do banco de dados separadamente.

Por exemplo, para informar o custo atribuído ao armazenamento de products_db de Carlos de uso, você pode enviar o relatório a seguir, que indica que os compromissos O armazenamento de products_db custa 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. projeto.

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