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

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

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

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

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

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

C#

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

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

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

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

Пример см. в следующих статьях:

Запрос REST

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

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

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

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

Имя Тип Обязательно Описание
customer-tenant-id guid Да Идентификатор GUID, соответствующий клиенту.

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

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

Тело запроса

Нет.

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

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

Ответ REST

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

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

Каждый ответ сопровождается кодом состояния 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: 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"
    }
}