Obter os dados de uso da assinatura por medidor
Aplica-se a: Partner Center | Partner Center para o Microsoft Cloud for US Government
Você pode usar a coleção de recursos MeterUsageRecord para obter registros de uso do medidor de um cliente para serviços ou recursos específicos do Azure durante o período de cobrança atual. Essa coleção de recursos representa um total agregado para cada medidor para o ciclo de cobrança atual, em todo o plano 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
).Uma ID de assinatura
Essa nova rota é equivalente a subscriptions/{subscription-id}/usagerecords/resources
, que continuará funcionando apenas para assinaturas do Microsoft Azure (MS-AZR-0145P). Essa nova rota dará suporte a assinaturas do Microsoft Azure (MS-AZR-0145P) e aos planos do Azure. Para obter essas informações para seu plano do Azure, você precisa alternar para essa nova rota. Além das propriedades mencionadas nas seções a seguir, a resposta é a mesma que a rota antiga.
C#
Para obter registros de uso do medidor de um cliente para um serviço ou recurso específico do Azure durante o período de cobrança atual:
Use sua coleção IAggregatePartner.Customers para chamar o método ById().
Chame a propriedade Subscriptions e UsageRecords e, em seguida, a propriedade Meters . Conclua chamando os métodos Get() ou GetAsync().
// IAggregatePartner partnerOperations; // var selectedCustomerId as string; // var selectedSubscriptionId as string; var usageRecords = partnerOperations.Customers.ById(selectedCustomerId).Subscriptions.ById(selectedSubscriptionId).UsageRecords.Meters.Get();
Para obter um exemplo, consulte o seguinte exemplo:
- Exemplo: Aplicativo de teste do console
- Projeto: PartnerSDK.FeatureSamples
- Classe: GetSubscriptionUsageRecordsByMeter.cs
Solicitação REST
Sintaxe da solicitação
Método | URI da solicitação |
---|---|
GET | {baseURL}/v1/customers/{customer-tenant-id}/subscriptions/{subscription-id}/meterusagerecords HTTP/1.1 |
Parâmetros do URI
Esta tabela lista os parâmetros de consulta necessários 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. |
subscription-id | guid | Y | Um GUID correspondente ao identificador de um recurso de assinatura do Partner Center, que representa uma assinatura do Microsoft Azure (MS-AZR-0145P) ou um plano do Azure. Para recursos de assinatura do plano do Azure, forneça a ID do plano como a ID da assinatura nessa rota. |
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/{subscription-id}/meterusagerecords 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 PagedResourceCollection<MeterUsageRecord> 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 o PayG do Azure 145P.
Para clientes com uma assinatura 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: Fri, 26 Feb 2016 20:31:45 GMT
{
"totalCount": 4,
"items": [
{
"subscriptionId": "{subscription-id}",
"meterId": "DZH318Z0BNVX-005J-Data Transfer In (GB)",
"meterName": "Data Transfer In",
"category": "Bandwidth",
"subcategory": "Bandwidth",
"quantityUsed": 0.01129,
"unit": "1 GB",
"totalCost": 0,
"currencyCode": "GBP",
"usdTotalCost": 0,
"lastModifiedDate": "2019-09-17T21:08:44.2566667+00:00",
"attributes": {
"objectType": "MeterUsageRecord"
}
},
{
"subscriptionId": "{subscription-id}",
"meterId": "DZH318Z0BNVX-005J-Data Transfer Out (GB)",
"meterName": "Data Transfer Out",
"category": "Bandwidth",
"subcategory": "Bandwidth",
"quantityUsed": 0.000224,
"unit": "1 GB",
"totalCost": 0,
"currencyCode": "GBP",
"usdTotalCost": 0,
"lastModifiedDate": "2019-09-17T21:08:44.2566667+00:00",
"attributes": {
"objectType": "MeterUsageRecord"
}
},
{
"subscriptionId": "{subscription-id}",
"meterId": "DZH318Z0BNZ5-006G-10K Batch Write Operations",
"meterName": "Batch Write Operations",
"category": "Storage",
"subcategory": "Tables",
"quantityUsed": 0.2462,
"unit": "10K",
"totalCost": 0,
"currencyCode": "GBP",
"usdTotalCost": 0,
"lastModifiedDate": "2019-09-17T21:08:44.2566667+00:00",
"attributes": {
"objectType": "MeterUsageRecord"
}
},
{
"subscriptionId": "{subscription-id}",
"meterId": "DZH318Z0BNZ5-006G-Data Stored (GB/Month)",
"meterName": "LRS Data Stored",
"category": "Storage",
"subcategory": "Tables",
"quantityUsed": 0.002632,
"unit": "1 GB/Month",
"totalCost": 0,
"currencyCode": "GBP",
"usdTotalCost": 0,
"lastModifiedDate": "2019-09-17T21:08:44.2566667+00:00",
"attributes": {
"objectType": "MeterUsageRecord"
}
}
],
"links": {
"self": {
"uri": "/customers/<customer-tenant-id>/subscriptions/<subscription-id>/meterusagerecords",
"method": "GET",
"headers": []
}
},
"attributes": {
"objectType": "Collection"
}
}