Azure: проблема с API использования ресурсов

Я попытался получить данные об использовании ресурсов Azure для метрик выставления счетов. Я выполнил шаги, упомянутые в блоге, чтобы получить данные об использовании ресурсов.

https://msdn.microsoft.com/en-us/library/azure/mt219001.aspx

Даже если я установлю параметр «время начала и окончания» в URL-адресе, это не вступит в силу. Он возвращает весь вывод [из времени создания / добавления ресурса].

Например: https://management.azure.com/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/providers/Microsoft.Commerce/UsageAggregates?api-version=2015-06-01-preview&reportedStartTime=2017-03-03T00%3a00%3a00%2b00%3a00&reportsEndTime=2017-03-04T00%3a00%3a00%2b00%3a00&aggregationGranularity=Hourly&showDetails=true "

Согласно указанному выше URL-адресу, он должен возвращать данные между «2017-03-03 - 2017-03-04». Но он показывает данные от 2 марта [2017-03-02]. не знаю, почему этот возврат всего вывода и секции временного фильтра не работает.

Примечание. Значение параметра Endtime вступает в силу, это означает, что он показывает результат до того, что указано в endtime. Но при этом не учитывается время начала.

У кого-нибудь есть предложения по этому поводу.


person KMG    schedule 04.03.2017    source источник
comment
Правильно ли я предполагаю, что ресурсы созданы 2 марта?   -  person Gaurav Mantri    schedule 04.03.2017
comment
@GauravMantri, да. Ты прав   -  person KMG    schedule 04.03.2017


Ответы (1)


Итак, есть несколько вещей, которые следует учитывать:

  • Есть usage date/time, а затем reported date/time. Бывший сообщает вам дату / время использования ресурсов, в то время как последний сообщает вам дату / время, когда эта информация была получена подсистемой выставления счетов. Будет некоторая задержка в использовании ресурсов по сравнению с отчетом. Из этого link:

Задайте для {dateTimeOffset-value} значение reportStartTime и reportEndTime на допустимые значения dateTime. Обратите внимание, что это значение dateTimeOffset представляет собой временную метку, в которую было записано использование ресурса в биллинговой системе Azure. Поскольку Azure - это распределенная система, охватывающая 19 центров обработки данных по всему миру, обязательно должна быть задержка между временем использования ресурса (когда ресурс был фактически потреблен) и сообщенным временем использования ресурса (когда произошло событие использования биллинговая система), а вызывающим абонентам необходим предсказуемый способ получения всех событий использования подписки за заданный период времени.

  • Запрос позволяет выполнять поиск только по указанной дате / времени, дата и время использования не предусмотрены. Однако возвращаемые вам данные содержат дату / время использования, а не дату / время, о которых сообщают.

Короче говоря, из-за задержки в распространении информации об использовании в подсистему биллинга поведение, которое вы видите, является правильным. По моему опыту, для отображения всей информации об использовании в подсистеме биллинга требуется около 24 часов.

То, как мы обрабатываем этот сценарий в нашем приложении, заключается в том, что мы извлекаем данные на более длительный срок, а затем выбираем только те данные, которые нам интересны. Так, например, если мне нужно увидеть данные за 1 марта, мы запрашиваем данные для указанной даты / времени с 1 марта, чтобы сказать 4 марта (то есть сегодняшняя дата), а затем отбрасываем все данные, дата использования которых не 1 марта. .

Если мы не находим никаких данных (что вполне возможно и происходит в вашем случае), мы просто сообщаем пользователям, что информация об использовании еще не доступна.

person Gaurav Mantri    schedule 04.03.2017
comment
спасибо за ваше обновление. позвольте мне пойти по этому пути. Еще одна вещь, пожалуйста, проголосуйте за мой вопрос, если он правильный. Спасибо - person KMG; 06.03.2017
comment
Я попытался использовать API-интерфейс партнерского центра, чтобы получить платежные данные. Но вызов API возвращает код ошибки 401. детали, представленные на partnercpi, верны и работают нормально, если я предоставлю его в качестве входных данных для API подписки. URL: api.partnercenter.microsoft.com/v1/customers/. Подскажите, в чем может быть причина ошибки. - person KMG; 31.03.2017
comment
Я бы рекомендовал задать это как отдельный вопрос вместо того, чтобы помещать здесь как комментарий. Пожалуйста, укажите здесь всю информацию (включая код). Спасибо! - person Gaurav Mantri; 31.03.2017
comment
извините за это, я создал там отдельный вопрос stackoverflow.com/questions/43134131/. Пожалуйста, поделитесь своим предложением - person KMG; 31.03.2017