Получение данных об использовании для подписки по счетчику

Область применения: Центр партнеров | Центр партнеров для Microsoft Cloud for US Government

Вы можете использовать коллекцию ресурсов MeterUsageRecord , чтобы получить записи об использовании счетчиков клиента для конкретных служб или ресурсов Azure в течение текущего периода выставления счетов. Эта коллекция ресурсов представляет агрегированную общую сумму для каждого единицы измерения для текущего период выставления счетов по всему плану Azure.

Предварительные условия

  • Учетные данные, описанные в статье о проверке подлинности в Центре партнеров. Этот сценарий поддерживает только проверку подлинности с использованием учетных данных приложений и пользователей.

  • Идентификатор клиента (customer-tenant-id). Если вы не знаете идентификатор клиента, вы можете найти его в Центре партнеров , выбрав рабочую область Клиенты , а затем клиента в списке клиентов, а затем Учетная запись. На странице учетной записи клиента найдите Идентификатор Майкрософт в разделе Сведения об учетной записи клиента. Идентификатор Майкрософт совпадает с идентификатором клиента (customer-tenant-id).

  • Идентификатор подписки

Этот новый маршрут эквивалентен subscriptions/{subscription-id}/usagerecords/resources, который будет продолжать работать только для подписок Microsoft Azure (MS-AZR-0145P). Этот новый маршрут будет поддерживать подписки Microsoft Azure (MS-AZR-0145P) и планы Azure. Чтобы получить эти сведения для плана Azure, необходимо переключиться на этот новый маршрут. Помимо свойств, упомянутых в следующих разделах, ответ совпадает со старым маршрутом.

C#

Чтобы получить записи об использовании счетчиков клиента для определенной службы или ресурса Azure в течение текущего периода выставления счетов:

  1. Используйте коллекцию IAggregatePartner.Customers для вызова метода ById().

  2. Вызовите свойство Subscriptions и UsageRecords, а затем свойство Meter . Завершите, вызвав методы Get() или GetAsync().

    // IAggregatePartner partnerOperations;
    // var selectedCustomerId as string;
    // var selectedSubscriptionId as string;
    
    var usageRecords = partnerOperations.Customers.ById(selectedCustomerId).Subscriptions.ById(selectedSubscriptionId).UsageRecords.Meters.Get();
    

Пример см. в следующем примере:

Запрос REST

Синтаксис запроса

Метод Универсальный код ресурса (URI) запроса
GET {baseURL}/v1/customers/{customer-tenant-id}/subscriptions/{subscription-id}/meterusagerecords HTTP/1.1

Параметры универсального кода ресурса (URI)

В этой таблице перечислены необходимые параметры запроса для получения сведений о рейтинге использования клиента.

Имя Тип Обязательно Описание
customer-tenant-id guid Да Идентификатор GUID, соответствующий клиенту.
идентификатор подписки guid Да GUID, соответствующий идентификатору ресурса подписки Центра партнеров, который представляет подписку Microsoft Azure (MS-AZR-0145P) или план Azure. Для ресурсов подписки на план Azure укажите plan-id в качестве идентификатора подписки в этом маршруте.

Заголовки запроса

Дополнительные сведения см. в статье о заголовках REST Центра партнеров.

Тело запроса

Нет.

Пример запроса

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

Ответ REST

В случае успешного выполнения этот метод возвращает ресурс PagedResourceCollection<MeterUsageRecord> в тексте ответа.

Коды успешного выполнения и ошибок в ответе

Каждый ответ сопровождается кодом состояния HTTP, обозначающим успешное или неудачное выполнение, и дополнительными сведениями для отладки. Используйте средство трассировки сети, чтобы считывать этот код, тип ошибки и дополнительные параметры. Полный список см. в разделе Коды ошибок.

Пример ответа для подписок Microsoft Azure (MS-AZR-0145P)

В этом примере клиент приобрел 145P Azure PayG.

Для клиентов с подпиской Microsoft Azure (MS-AZR-0145P) изменения в ответе 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"
    }
}

Пример ответа REST для плана Azure

В этом примере клиент приобрел план Azure.

Для клиентов с планами Azure в ответе API есть следующие изменения:

  • currencyLocale заменяется на currencyCode
  • usdTotalCost — это новое поле
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"
    }
}