Получение данных об использовании для подписки по счетчику
Область применения: Центр партнеров | Центр партнеров для 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 в течение текущего периода выставления счетов:
Используйте коллекцию IAggregatePartner.Customers для вызова метода ById().
Вызовите свойство 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();
Пример см. в следующем примере:
- Пример: Тестовое консольное приложение
- Проект: PartnerSDK.FeatureSamples
- Класс: GetSubscriptionUsageRecordsByMeter.cs
Запрос 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"
}
}