Compartilhar via


Cobrança limitada para Contêineres do Azure usando o serviço de medição do marketplace comercial

Com o serviço de medição do marketplace comercial, você pode criar ofertas de Contêiner do Azure que são cobradas de acordo com unidades não padrão. Antes de publicar a oferta no marketplace comercial, você define as dimensões de cobrança, como largura de banda, fragmentos, arquivos de log, verificações, emails processados etc. Os clientes pagam de acordo com o consumo dessas dimensões, com seu aplicativo informando a Microsoft por meio da API do serviço de medição do marketplace comercial sobre eventos faturáveis à medida que eles ocorrem.

Pré-requisitos para cobrança limitada

Para que uma oferta de Contêiner do Azure use a cobrança limitada, você deve primeiro examinar as opções de licenciamento descritas em Planejar a oferta de Contêiner do Azure e verificar se você tem necessidades de cobrança personalizadas que não são atendidas por um dos seis modelos de cobrança predefinidos existentes.

Em seguida, a oferta de Contêiner do Azure pode se integrar às APIs de serviço de medição do marketplace comercial para informar a Microsoft sobre eventos faturáveis.

Importante

Seu aplicativo terá que chamar as APIs do serviço de medição do marketplace comercial. Atualmente, não há uma opção para permitir que seu serviço hospedado (fora do aplicativo) chame a API do serviço de medição.

Observação

O serviço de medição do Marketplace está disponível apenas para o modelo de cobrança personalizado e não se aplica ao modelo de cobrança por usuário.

Como a cobrança limitada se ajusta aos preços

Compreender a hierarquia de ofertas é importante quando se trata de definir a oferta junto com seus modelos de preços.

  • Cada oferta é configurada para ser vendida por meio da Microsoft ou não. Depois que uma oferta é publicada, essa opção não pode ser alterada.
  • Cada oferta, configurada para vender por meio da Microsoft, pode ter um ou mais planos.
  • Cada plano tem um modelo de preços associado a ele: Plano de cobrança mensal baseado em uso ou Traga sua própria licença (BYOL). Para o plano de cobrança mensal baseado em uso, você pode escolher gratuito, uma das seis opções de cobrança predefinidas ou personalizado.
  • O modelo de preços e as opções de entrada de preço não podem ser atualizados depois de publicados.
  • Cada plano deve ter um plano de preços completo.
  • Você pode optar por definir o preço usando dimensões personalizadas para cobrar seus clientes e ajudar a atender às suas necessidades de faturamento. Cada dimensão representa uma unidade faturável que seu serviço comunica à Microsoft usando a API do serviço de medição do marketplace comercial.

Importante

Você deve acompanhar o uso em seu código e enviar apenas eventos de uso para a Microsoft para o uso que você deseja que o cliente fature.

Observação

As ofertas serão cobradas aos clientes na moeda do contrato dos clientes, usando o preço de mercado local que foi publicado no momento em que a oferta foi criada. O valor que os clientes pagam, e que os ISVs são pagos, depende das taxas de câmbio no momento em que o cliente transaciona a oferta. Saiba mais sobre "Como convertemos moeda?".

Exemplos de opções de preços personalizados

Por exemplo, a Contoso é um editor cujo IP está em sua lógica de fragmentação para seu aplicativo Kubernetes. A Contoso deseja cobrar seus clientes com base no número de fragmentos usados. Eles também estão explorando outras opções de cobrança com preços convenientes e competitivos. A Contoso está registrada como editora no Partner Center para o programa do marketplace comercial e deseja publicar ofertas de contêiner para clientes do Azure. Há quatro planos associados à Contoso, descritos abaixo:

  • Cobrar por estilhaços usados por hora, por exemplo, 1.000 USD/estilhaço/hora

    Captura de tela que descreve a cobrança de acordo com os fragmentos usados por hora.

  • Modelagem de pagamento único ou cobrança recorrente: digamos que a Contoso queira cobrar de um cliente US$ 449/mês pelo uso de até 100 arquivos de log de seu aplicativo. A lógica do aplicativo da Contoso controla o evento de uso do mês e dispara uma cobrança no final do mês para o uso de 100 arquivos de log.

    Captura de tela que descreve a modelagem de pagamento único ou cobrança recorrente.

  • Modelagem de cobrança em camadas: digamos que a Contoso queira cobrar US$ 449/mês por até 100 fragmentos e, em seguida, preços diferenciados para qualquer excedente. Sua lógica de aplicativo acompanharia o uso do mês, segmentaria o uso de acordo e o relataria usando as APIs de medição abaixo no final do período:

    Captura de tela que descreve a modelagem de faturamento em camadas.

  • Cobrança multidimensional: a Contoso também pode usar a medição personalizada para atender às suas necessidades de cobrança avançada usando várias dimensões

    Captura de tela que descreve o faturamento multidimensional.

Com base no plano selecionado, um cliente do Azure que obtém a oferta de Contêiner da Contoso é cobrado com base em seu uso. A Contoso conta o uso sem enviar nenhum evento de uso para a Microsoft. Quando os clientes consomem uma quantidade adequada ou periodicamente, a Contoso relata o uso. Os clientes não precisam mudar de planos ou fazer nada diferente. A Contoso mede o uso e começa a emitir eventos de uso para a Microsoft para cobrar o uso excedente usando a API do serviço de medição do marketplace comercial. A Microsoft, por sua vez, cobra do cliente pelo uso conforme especificado pelo editor nas dimensões personalizadas. O faturamento é feito no próximo ciclo de faturamento mensal.

Dimensões de cobrança

Cada dimensão de cobrança define uma unidade personalizada pela qual o ISV pode emitir eventos de uso. As dimensões de faturamento também são usadas para comunicar ao cliente como ele será cobrado pelo uso do software. Eles são definidos da seguinte forma:

  • ID: o identificador de dimensão imutável referenciado ao emitir eventos de uso.
  • Nome de exibição: o nome de exibição associado à dimensão, por exemplo, "mensagens de texto enviadas".
  • Unidade de medida: a descrição da unidade de cobrança, por exemplo, "por mensagem de texto" ou "por 100 emails".
  • Preço por unidade em USD: o preço de uma unidade de dimensão. Pode ser 0.

Importante

Você deve acompanhar o uso no código do aplicativo e enviar eventos de uso para a Microsoft com base em suas necessidades de cobrança.

As dimensões de cobrança são compartilhadas por todos os planos para uma oferta. Alguns atributos se aplicam à dimensão em todos os planos e outros atributos são específicos de cada plano.

Os atributos, que definem a própria dimensão, são compartilhados por todos os planos para uma oferta. Antes de publicar a oferta, uma alteração feita nesses atributos a partir do contexto de qualquer plano afeta a definição da dimensão em todos os planos. Depois de publicar a oferta, esses atributos não serão mais editáveis. Esses atributos são:

  • ID
  • Nome para Exibição
  • Unidade de Medida

Os outros atributos de uma dimensão são específicos para cada plano e podem ter valores diferentes de plano para plano. Antes de publicar o plano, você pode editar esses valores e somente esse plano será afetado. Depois de publicar o plano, não será mais possível editar alguns atributos. Esses atributos são:

  • Preço por unidade em dólares americanos

As dimensões também têm um conceito especial chamado "ativado":

  • Habilitado indica que este plano participa desta dimensão. Se você estiver criando um novo plano que não envia eventos de uso com base nessa dimensão, convém deixar essa opção desmarcada. Além disso, todas as novas dimensões adicionadas depois que um plano foi publicado pela primeira vez serão exibidas como "não habilitada" no plano já publicado. Uma dimensão desativada não aparecerá em nenhuma lista de dimensões de um plano visto pelos clientes.

Observação

Os seguintes cenários têm suporte explícito:

  • Você pode adicionar uma nova dimensão a um novo plano. A nova dimensão não será habilitada para nenhum plano já publicado.

Definir o preço da dimensão por unidade por mercado com suporte

Assim como outros preços baseados em uso, os preços das dimensões de cobrança podem ser definidos por país ou região compatível. Você precisa usar o recurso de importação e exportação de dados de preços na Central de Parceiros, da seguinte maneira.

  1. Defina as dimensões desejadas e marque quais mercados têm suporte.
  2. Exporte esses dados para um arquivo.
  3. Adicione os preços corretos por país/região e importe o arquivo na Central de Parceiros.

A interface do usuário do medidor muda para refletir que os preços da dimensão só podem ser vistos no arquivo.

Captura de tela representando a interface do usuário do medidor.

Plano particular

Assim como os planos de faturamento baseados em uso predefinidos, um plano com dimensões personalizadas pode ser definido como plano privado, acessível apenas pelo público-alvo definido do plano.

Restrições

Comportamento de bloqueio

Como uma dimensão usada com o serviço de medição do marketplace comercial representa um entendimento de como um cliente pagará pelo serviço, os detalhes de uma dimensão não podem mais ser editados após a publicação. É importante que você tenha suas dimensões totalmente definidas para um plano antes de publicar.

Depois que uma oferta é publicada com uma dimensão, os detalhes no nível da oferta para essa dimensão não podem mais ser alterados:

  • ID
  • Nome para Exibição
  • Unidade de Medida

Depois que um plano é publicado, esse detalhe no nível do plano não pode mais ser alterado:

  • Se a dimensão está habilitada para o plano ou não

Limites superiores

O número máximo de dimensões que podem ser configuradas para uma única oferta é de 30 dimensões exclusivas.

Cobrança limitada do contêiner do Azure

As APIs de cobrança limitada devem ser usadas quando o publicador cria dimensões de medição personalizadas para uma oferta a ser publicada no Partner Center. A integração com essas APIs é necessária para qualquer oferta adquirida com um ou mais planos que tenham dimensões personalizadas para emitir eventos de uso.

Importante

Para obter mais informações sobre como criar dimensões de medição personalizadas para Aplicativos Kubernetes, consulte Criar uma Oferta de Contêiner do Azure.

Impondo a nota TLS 1.2

A versão 1.2 do TLS é aplicada como a versão mínima para comunicações HTTPS. Use essa versão do TLS em seu código. As versões 1.0 e 1.1 do TLS foram preteridas e as tentativas de conexão foram recusadas.

Evento de uso único de cobrança limitada

A API de evento de uso deve ser chamada pelo publicador para emitir eventos de uso em um recurso ativo (assinado) para o plano adquirido pelo cliente específico. O evento de uso é emitido separadamente para cada dimensão personalizada do plano definido pelo publicador ao publicar a oferta.

Somente um evento de uso pode ser emitido por hora durante um dia do calendário por recurso. Se mais de uma unidade for consumida em uma hora, acumule todas as unidades consumidas na hora e as emita em um único evento. Os eventos de uso só podem ser emitidos com relação às últimas 24 horas. Se você emitir um evento de uso a qualquer momento entre 8:00 e 8:59:59 (e ele for aceito) e enviar outro evento para o mesmo dia entre 8:00 e 8:59:59, ele será rejeitado como uma duplicata.

POST: https://marketplaceapi.microsoft.com/api/usageEvent?api-version=<ApiVersion>

Parâmetros de consulta:

Parâmetro Recomendação
ApiVersion Use 2018-08-31.

Cabeçalhos de solicitação:

Content-type Use application/json.
x-ms-requestid Valor de cadeia de caracteres exclusivo para acompanhamento da solicitação do cliente, preferencialmente um GUID. Se esse valor não for fornecido, um será gerado e fornecido nos cabeçalhos de resposta.
x-ms-correlationid Valor de cadeia de caracteres exclusivo para a operação no cliente. Esse parâmetro correlaciona todos os eventos da operação do cliente com eventos no lado do servidor. Se esse valor não for fornecido, um será gerado e fornecido nos cabeçalhos de resposta.
authorization Um token de acesso exclusivo que identifica o ISV que está fazendo a chamada à API. O formato é "Bearer <access_token>" quando o valor do token é recuperado pelo editor, conforme explicado em Aplicativo Kubernetes em Estratégias de autenticação.

Exemplo de corpo da solicitação:

{
  "resourceUri": "<ARM resource URI of the Kubernetes app instance>", // unique identifier of the resource against which usage is emitted. 
  "quantity": 5.0, // how many units were consumed for the date and hour specified in effectiveStartTime, must be greater than 0 or a double integer
  "dimension": "dim1", // custom dimension identifier
  "effectiveStartTime": "2018-12-01T08:30:14", // time in UTC when the usage event occurred, from now and until 24 hours back
  "planId": "plan1", // id of the plan purchased for the offer
}

Observação

Para aplicativos do Kubernetes, o resourceUri é o URI do recurso do ARM da instância do aplicativo do Kubernetes.

Respostas

Código: 200
OK. A emissão de uso foi aceita e registrada no lado da Microsoft para processamento adicional e cobrança.

Exemplo de conteúdo da resposta:

{
  "usageEventId": <guid>, // unique identifier associated with the usage event in Microsoft records
  "status": "Accepted" // this is the only value in case of single usage event
  "messageTime": "2020-01-12T13:19:35.3458658Z", // time in UTC this event was accepted
  "resourceUri": "<ARM resource URI of the Kubernetes app instance>", // unique identifier of the resource against which usage is emitted. For SaaS it's the subscriptionId.
  "quantity": 5.0, // amount of emitted units as recorded by Microsoft
  "dimension": "dim1", // custom dimension identifier
  "effectiveStartTime": "2018-12-01T08:30:14", // time in UTC when the usage event occurred, as sent by the ISV
  "planId": "plan1", // id of the plan purchased for the offer
}

Código: 400
Solicitação inválida.

  • Dados de solicitação ausentes ou inválidos foram fornecidos.
  • effectiveStartTime é mais de 24 horas no passado. O evento expirou.

Exemplo de conteúdo da resposta:

{
  "message": "One or more errors have occurred.",
  "target": "usageEventRequest",
  "details": [
    {
      "message": "The resourceUri is required.",
      "target": "ResourceUri",
      "code": "BadArgument"
    }
  ],
  "code": "BadArgument"
}

Código: 400
Solicitação inválida.

  • O URI do recurso já está registrado anteriormente, é necessário aguardar 24 horas antes de enviar o uso.

Exemplo de conteúdo da resposta:

{
  "message": "One or more errors have occurred.",
  "target": "usageEventRequest",
  "details": [
    {
      "message": "Invalid usage state.",
      "target": "ResourceUri",
      "code": "BadArgument"
    }
  ],
  "code": "BadArgument"
}

Código: 403

Negado. O token de autorização é inválido, expirou ou não foi fornecido.

Código: 409
Conflito. Um evento de uso já foi relatado corretamente para o ID de recurso, a data e a hora de uso efetivo especificados.

Exemplo de conteúdo da resposta:

{
  "additionalInfo": {
    "acceptedMessage": {
      "usageEventId": "<guid>", //unique identifier associated with the usage event in Microsoft records
      "status": "Duplicate",
      "messageTime": "2020-01-12T13:19:35.3458658Z",
      "resourceUri": "<ARM resource URI of the Kubernetes app instance>", //unique identifier of the resource against which usage is emitted.
      "quantity": 1.0,
      "dimension": "dim1",
      "effectiveStartTime": "2020-01-12T11:03:28.14Z",
      "planId": "plan1"
    }
  },
  "message": "This usage event already exist.",
  "code": "Conflict"
}

Evento de uso de lote de cobrança limitada

A API de evento de uso em lote permite emitir eventos de uso para mais de um recurso adquirido por vez. Ele também permite que você emita vários eventos de uso para o mesmo recurso, desde que sejam para horários de calendário diferentes. O número máximo de eventos em um único lote é 25.

POST: https://marketplaceapi.microsoft.com/api/batchUsageEvent?api-version=<ApiVersion>

Parâmetros de consulta:

Parâmetro Recomendação
ApiVersion Use 2018-08-31.

Cabeçalhos de solicitação:

Content-type Use application/json.
x-ms-requestid Valor de cadeia de caracteres exclusivo para acompanhamento da solicitação do cliente, preferencialmente um GUID. Se esse valor não for fornecido, um será gerado e fornecido nos cabeçalhos de resposta.
x-ms-correlationid Valor de cadeia de caracteres exclusivo para a operação no cliente. Esse parâmetro correlaciona todos os eventos da operação do cliente com eventos no lado do servidor. Se esse valor não for fornecido, será gerado e fornecido nos cabeçalhos de resposta.
authorization Um token de acesso exclusivo que identifica o ISV que está fazendo a chamada à API. O formato é Bearer <access_token> quando o valor do token é recuperado pelo editor, conforme explicado em Aplicativo Kubernetes em Estratégias de autenticação.

Observação

No corpo da solicitação, o identificador de recurso para aplicativos Kubernetes é resourceUri.

Exemplo de corpo de solicitação para aplicativos Kubernetes:

{
  "request": [ // list of usage events for the same or different resources of the publisher
    { // first event
      "resourceUri": "<ARM resource URI of the Kubernetes app instance>", // Unique identifier of the resource against which usage is emitted. 
      "quantity": 5.0, // how many units were consumed for the date and hour specified in effectiveStartTime, must be greater than 0 or a double integer
      "dimension": "dim1", //Custom dimension identifier
      "effectiveStartTime": "2018-12-01T08:30:14",//Time in UTC when the usage event occurred, from now and until 24 hours back
      "planId": "plan1", // id of the plan purchased for the offer
    },
    { // next event
      "resourceUri": "<ARM resource URI of the Kubernetes app instance>", 
      "quantity": 39.0, 
      "dimension": "email", 
      "effectiveStartTime": "2018-11-01T23:33:10
      "planId": "gold", // id of the plan purchased for the offer
    }
  ]
}

Respostas

Código: 200
OK. A emissão de uso de lote foi aceita e registrada no lado da Microsoft para processamento adicional e cobrança. A lista de respostas é retornada com o status de cada evento individual no lote. Você deve iterar o conteúdo da resposta para entender as respostas de cada evento de uso individual enviado como parte do evento de lote.

Exemplo de conteúdo da resposta:

{
  "count": 2, // number of records in the response
  "result": [
    { // first response
      "usageEventId": "<guid>", // unique identifier associated with the usage event in Microsoft records
      "status": "Accepted" // see list of possible statuses below,
      "messageTime": "2020-01-12T13:19:35.3458658Z", // Time in UTC this event was accepted by Microsoft,
      "resourceUri": "<ARM resource URI of the Kubernetes app instance>", // unique identifier of the resource against which usage is emitted.
      "quantity": 5.0, // amount of emitted units as recorded by Microsoft 
      "dimension": "dim1", // custom dimension identifier
      "effectiveStartTime": "2018-12-01T08:30:14",// time in UTC when the usage event occurred, as sent by the ISV
      "planId": "plan1", // id of the plan purchased for the offer
    },
    { // second response
      "status": "Duplicate",
      "messageTime": "0001-01-01T00:00:00",
      "error": {
        "additionalInfo": {
          "acceptedMessage": {
            "usageEventId": "<guid>",
            "status": "Duplicate",
            "messageTime": "2020-01-12T13:19:35.3458658Z",
            "resourceUri": "<ARM resource URI of the Kubernetes app instance>",
            "quantity": 1.0,
            "dimension": "email",
            "effectiveStartTime": "2020-01-12T11:03:28.14Z",
            "planId": "gold"
          }
        },
        "message": "This usage event already exist.",
        "code": "Conflict"
      },
      "resourceId": "<guid2>",
      "quantity": 1.0,
      "dimension": "email",
      "effectiveStartTime": "2020-01-12T11:03:28.14Z",
      "planId": "gold"
    }
  ]
}

Descrição do código de status referenciado na resposta da API BatchUsageEvent:

Código de status Descrição
Accepted Aceita.
Expired Uso expirado.
Duplicate Uso duplicado fornecido.
Error Código do erro.
ResourceNotFound O recurso de uso fornecido é inválido.
ResourceNotAuthorized Você não está autorizado a fornecer o uso desse recurso.
ResourceNotActive O recurso está suspenso ou nunca foi ativado.
InvalidDimension A dimensão para a qual o uso foi passado é inválida para esta oferta/plano.
InvalidQuantity A quantidade transmitida é menor ou igual a 0.
BadArgument A entrada está ausente ou mal formulada.

Código: 400
Solicitação inválida. O lote continha mais de 25 eventos de uso.

Código: 403
Negado. O token de autorização é inválido, expirou ou não foi fornecido.

Eventos de uso de recuperação de cobrança limitada

Você pode chamar a API de eventos de uso para obter a lista de eventos de uso. Os ISVs podem usar essa API para ver os eventos de uso que foram lançados por uma determinada duração configurável de tempo e qual estado esses eventos estão no ponto de chamar a API.

GET: https://marketplaceapi.microsoft.com/api/usageEvents

Parâmetros de consulta:

Parâmetro Recomendação
ApiVersion Use 2018-08-31.
usageStartDate DateTime no formato ISO8601. Por exemplo, 2020-12-03T15:00 ou 2020-12-03
UsageEndDate (opcional) DateTime no formato ISO8601. Padrão = data atual
offerId (opcional) Padrão = todos os disponíveis
planId (opcional) Padrão = todos os disponíveis
dimension (opcional) Padrão = todos os disponíveis
azureSubscriptionId (opcional) Padrão = todos os disponíveis
reconStatus (opcional) Padrão = todos os disponíveis

Valores possíveis de reconStatus:

ReconStatus Descrição
Enviado Ainda não processados pela análise de PC
Aceito Correspondido com a análise de PC
Rejeitado Rejeitado no pipeline. Contate o suporte da Microsoft para investigar a causa.
Incompatibilidade As quantidades de MarketplaceAPI e Partner Center Analytics são diferentes de zero, mas não correspondem
TestHeaders Assinatura listada com cabeçalhos de teste e, portanto, não na análise de PC
DryRun Enviado com SessionMode = DryRun e, portanto, não no PC

Cabeçalhos de solicitação:

Tipo de conteúdo Usar application/json
x-ms-requestid Valor de cadeia de caracteres exclusivo (preferencialmente um GUID), para acompanhamento da solicitação do cliente. Se esse valor não for fornecido, um será gerado e fornecido nos cabeçalhos de resposta.
x-ms-correlationid Valor de cadeia de caracteres exclusivo para a operação no cliente. Esse parâmetro correlaciona todos os eventos da operação do cliente com eventos no lado do servidor. Se esse valor não for fornecido, um será gerado e fornecido nos cabeçalhos de resposta.
autorização Um token de acesso exclusivo que identifica o ISV que está fazendo a chamada à API. O formato é Bearer <access_token> quando o valor do token é recuperado pelo editor.
- Aplicação Kubernetes em estratégias de autenticação

Respostas

Exemplos de conteúdo da resposta:

Aceito

[
  {
    "usageDate": "2020-11-30T00:00:00Z",
    "usageResourceId": "11111111-2222-3333-4444-555555555555",
    "dimension": "tokens",
    "planId": "silver",
    "planName": "Silver",
    "offerId": "mycooloffer",
    "offerName": "My Cool Offer",
    "offerType": "SaaS",
    "azureSubscriptionId": "12345678-9012-3456-7890-123456789012",
    "reconStatus": "Accepted",
    "submittedQuantity": 17.0,
    "processedQuantity": 17.0,
    "submittedCount": 17
  }
]

Enviado

[
  {
    "usageDate": "2020-11-30T00:00:00Z",
    "usageResourceId": "11111111-2222-3333-4444-555555555555",
    "dimension": "tokens",
    "planId": "silver",
    "planName": "",
    "offerId": "mycooloffer",
    "offerName": "",
    "offerType": "SaaS",
    "azureSubscriptionId": "12345678-9012-3456-7890-123456789012",
    "reconStatus": "Submitted",
    "submittedQuantity": 17.0,
    "processedQuantity": 0.0,
    "submittedCount": 17
  }
]

Incompatibilidade

[
  {
    "usageDate": "2020-11-30T00:00:00Z",
    "usageResourceId": "11111111-2222-3333-4444-555555555555",
    "dimension": "tokens",
    "planId": "silver",
    "planName": "Silver",
    "offerId": "mycooloffer",
    "offerName": "My Cool Offer",
    "offerType": "SaaS",
    "azureSubscriptionId": "12345678-9012-3456-7890-123456789012",
    "reconStatus": "Mismatch",
    "submittedQuantity": 17.0,
    "processedQuantity": 16.0,
    "submittedCount": 17
  }
]

Recusado

[
  {
    "usageDate": "2020-11-30T00:00:00Z",
    "usageResourceId": "11111111-2222-3333-4444-555555555555",
    "dimension": "tokens",
    "planId": "silver",
    "planName": "",
    "offerId": "mycooloffer",
    "offerName": "",
    "offerType": "SaaS",
    "azureSubscriptionId": "12345678-9012-3456-7890-123456789012",
    "reconStatus": "Rejected",
    "submittedQuantity": 17.0,
    "processedQuantity": 0.0,
    "submittedCount": 17
  }
]

Códigos de status

Código: 403 Proibido. O token de autorização é inválido, expirou ou não foi fornecido.

Práticas recomendadas de desenvolvimento e teste

Para testar a emissão de medidor personalizado, implemente a integração com a API de medição, crie um plano para sua oferta de Aplicativos do Kubernetes publicada com dimensões personalizadas definidas com preço zero por unidade. Além disso, publique essa oferta como visualização para que apenas usuários limitados possam acessar e testar a integração.

Também é possível usar um plano privado para uma oferta dinâmica existente a fim de limitar o acesso a esse plano durante o teste para um público limitado.

Obtenha suporte

Se você tiver um dos problemas a seguir, poderá abrir um tíquete de suporte.

  • Problemas técnicos com a API do serviço de medição do Marketplace.
  • Um problema que precisa ser repassado devido a um erro ou bug do seu lado (por exemplo, evento de uso incorreto).
  • Outros problemas relacionados à cobrança limitada.

Siga as instruções em Suporte para o programa do marketplace comercial na Central de Parceiros para entender as opções de suporte da distribuidora e abrir o tíquete de suporte com a Microsoft.