Obter registros de uso de assinatura para um cliente
Aplica-se a: Partner Center | Partner Center para o Microsoft Cloud for US Government
Você pode usar a coleção de recursos SubscriptionMonthlyUsageRecord para obter registros de uso de assinatura para um cliente de um serviço ou recurso específico do Azure durante o período de cobrança atual. Esse recurso representa todas as assinaturas para o cliente. Para um cliente com um plano do Azure, esse recurso retorna uma lista desses planos (não assinaturas individuais do Azure).
Pré-requisitos
Credenciais, conforme descrito em Autenticação do Partner Center. Este cenário dá suporte somente à autenticação com credenciais de aplicativo + de usuário.
Uma ID do cliente (
customer-tenant-id
). Se você não souber a ID do cliente, poderá pesquisá-la no Partner Center selecionando o workspace Clientes , o cliente na lista de clientes e, em seguida, Conta. Na página Conta do cliente, procure a ID da Microsoft na seção Informações da Conta do Cliente. A ID da Microsoft é igual à ID do cliente (customer-tenant-id
).
C#
Para obter registros de uso de assinatura para um cliente de um serviço ou recurso específico do Azure durante o período de cobrança atual, execute as seguintes etapas:
Use sua coleção IAggregatePartner.Customers para chamar o método ById().
Em seguida, chame a propriedade Subscriptions e a propriedade UsageRecords . Conclua chamando os métodos Get() ou GetAsync().
// IAggregatePartner partnerOperations; // var selectedCustomerId as string; var usageRecords = partnerOperations.Customers.ById(selectedCustomerId).Subscriptions.UsageRecords.Get();
Para obter um exemplo, consulte o seguinte:
- Exemplo: Aplicativo de teste do console
- Projeto: PartnerSDK.FeatureSamples
- Classe: GetSubscriptionUsageRecords.cs
Solicitação REST
Sintaxe da solicitação
Método | URI da solicitação |
---|---|
GET | {baseURL}/v1/customers/{customer-tenant-id}/subscriptions/usagerecords HTTP/1.1 |
Parâmetro do URI
Esta tabela lista o parâmetro de consulta necessário para obter as informações de uso classificadas do cliente.
Nome | Type | Obrigatório | Descrição |
---|---|---|---|
customer-tenant-id | guid | Y | Um GUID correspondente ao cliente. |
Cabeçalhos de solicitação
Para obter mais informações, confira Cabeçalhos REST do Partner Center.
Corpo da solicitação
Nenhum.
Exemplo de solicitação
GET https://api.partnercenter.microsoft.com/v1/customers/{customer-tenant-id}/subscriptions/usagerecords HTTP/1.1
Authorization: Bearer <token>
Accept: application/json
MS-RequestId: e128c8e2-4c33-4940-a3e2-2e59b0abdc67
MS-CorrelationId: aaaa0000-bb11-2222-33cc-444444dddddd
Resposta REST
Se tiver êxito, este método retornará um recurso SubscriptionMonthlyUsageRecord no corpo da resposta.
Códigos de êxito e de erro de resposta
Cada resposta vem com um código de status HTTP que indica êxito ou falha e informações de depuração adicionais. Use uma ferramenta de rastreamento de rede para ler esse código, o tipo de erro e os parâmetros adicionais. Para obter uma lista completa, consulte Códigos de erro.
Exemplo de resposta para assinaturas do Microsoft Azure (MS-AZR-0145P)
Neste exemplo, o cliente comprou uma oferta 145P do Azure PayG .
Para clientes com assinaturas do Microsoft Azure (MS-AZR-0145P), não haverá nenhuma alteração na resposta da API.
HTTP/1.1 200 OK
Content-Length: 1120
Content-Type: application/json
MS-CorrelationId: aaaa0000-bb11-2222-33cc-444444dddddd
MS-RequestId: e128c8e2-4c33-4940-a3e2-2e59b0abdc67
Date: Tue, 17 Sep 2019 20:31:45 GMT
{
"totalCount": 1,
"items": [
{
"status": "active",
"offerId": "MS-AZR-0145P",
"resourceId": "a0a0a0a0-bbbb-cccc-dddd-e1e1e1e1e1e1",
"id": "a0a0a0a0-bbbb-cccc-dddd-e1e1e1e1e1e1",
"resourceName": "Microsoft Azure",
"name": "Microsoft Azure",
"totalCost": 22.861172,
"currencyLocale": "fr-FR",
"usdTotalCost": 0,
"lastModifiedDate": "2019-09-01T23:04:41.193+00:00",
"attributes": {
"objectType": "SubscriptionMonthlyUsageRecord"
}
}
],
"links": {
"self": {
"uri": "/customers/<customer-tenant-id>/subscriptions/usagerecords/",
"method": "GET",
"headers": []
}
},
"attributes": {
"objectType": "Collection"
}
}
Exemplo de resposta REST para o plano do Azure
Neste exemplo, o cliente comprou um plano do Azure.
Para clientes com planos do Azure, há as seguintes alterações na resposta da API:
- currencyLocale é substituído por currencyCode
- usdTotalCost é um novo campo
HTTP/1.1 200 OK
Content-Length: 1120
Content-Type: application/json
MS-CorrelationId: aaaa0000-bb11-2222-33cc-444444dddddd
MS-RequestId: e128c8e2-4c33-4940-a3e2-2e59b0abdc67
Date: Tue, 17 Sep 2019 20:31:45 GMT
{
"totalCount": 2,
"items": [
{
"status": "active",
"partnerOnRecord": "some-id",
"offerId": "DZH318Z0BPS6:0001:DZH318Z0BML6",
"resourceId": "b1b1b1b1-cccc-dddd-eeee-f2f2f2f2f2f2",
"id": "b1b1b1b1-cccc-dddd-eeee-f2f2f2f2f2f2",
"resourceName": "Azure plan",
"name": "Azure plan",
"totalCost": 0,
"currencyCode": "GBP",
"usdTotalCost": 0,
"lastModifiedDate": "2019-09-18T17:09:26.16+00:00",
"attributes": {
"objectType": "SubscriptionMonthlyUsageRecord"
}
},
{
"status": "active",
"partnerOnRecord": "some-id",
"offerId": "DZH318Z0BPS6:0001:DZH318Z0BML6",
"resourceId": "c2c2c2c2-dddd-eeee-ffff-a3a3a3a3a3a3",
"id": "c2c2c2c2-dddd-eeee-ffff-a3a3a3a3a3a3",
"resourceName": "Azure plan",
"name": "Azure plan",
"totalCost": 0,
"currencyCode": "GBP",
"usdTotalCost": 0,
"lastModifiedDate": "2019-09-18T17:09:26.16+00:00",
"attributes": {
"objectType": "SubscriptionMonthlyUsageRecord"
}
}
],
"links": {
"self": {
"uri": "/customers/<customer-tenant-id>/subscriptions/usagerecords",
"method": "GET",
"headers": []
}
},
"attributes": {
"objectType": "Collection"
}
}