【问题标题】:Azure : Resource usage API issueAzure:资源使用 API 问题
【发布时间】:2017-03-04 19:18:34
【问题描述】:

我尝试为计费指标提取 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&reportedEndTime=2017-03-04T00%3a00%3a00%2b00%3a00&aggregationGranularity=Hourly&showDetails=true"

根据上面的 URL,它应该返回“2017-03-03 到 2017-03-04”之间的数据。但它显示了 3 月 2 日 [2017-03-02] 的数据。不知道为什么这个返回整个输出和时间过滤器部分不起作用。

注意:Endtime 参数值生效,意味着它显示的输出达到了 endtime 中提到的内容。但不考虑开始时间。

任何人对此有建议。

【问题讨论】:

  • 我是否正确假设资源是在 3 月 2 日创建的?
  • @GauravMantri,是的。你是对的

标签: azure azure-billing-api


【解决方案1】:

所以有几点需要考虑:

  • usage date/time,然后有reported date/time。 前者告诉您使用资源的日期/时间,而 后者告诉您收到此信息的日期/时间 计费子系统。到时候会有一些延迟 使用的资源与报告的时间。来自link

为reportedStartTime 和reportedEndTime 设置{dateTimeOffset-value} 到有效的日期时间值。请注意这个 dateTimeOffset 值 表示记录资源使用情况的时间戳 在 Azure 计费系统中。 由于 Azure 是一个分布式系统, 跨越全球 19 个数据中心,必将有 资源使用时间之间的延迟(当资源 实际消耗)和资源使用报告时间(当 使用事件到达计费系统),呼叫者需要一个可预测的 获取给定时间订阅的所有使用事件的方法 期间。

  • 该查询仅允许您搜索报告的日期/时间,没有提供使用日期/时间。但是,返回给您的数据包含使用日期/时间,而不是报告的日期/时间。

长话短说,由于将使用信息传播到计费子系统的延迟,您看到的行为是正确的。根据我的经验,所有使用信息大约需要 24 小时才能显示在计费子系统中。

我们在应用程序中处理这种情况的方式是获取较长时间的数据,然后只获取我们有兴趣查看的数据。例如,如果我需要查看 3 月 1 日的数据,那么我们查询从 3 月 1 日到 3 月 4 日(即今天的日期)报告的日期/时间的数据,然后丢弃使用日期不是 3 月 1 日的任何数据.

如果我们没有找到任何数据(这很有可能并且在您的情况下也正在发生),我们只会告诉用户使用信息尚不可用。

【讨论】:

  • 感谢您的更新。让我沿着这条路走。还有一件事,请支持我的问题,如果它是正确的。谢谢
  • 我尝试使用 partnercenter api 来获取账单明细。但 API 调用返回 401 错误代码。 partnercpi 上提供的详细信息是正确的,如果我将其作为订阅 API 的输入,它工作正常。网址:“api.partnercenter.microsoft.com/v1/customers/…”。你能建议错误的原因吗?
  • 我建议将此作为一个单独的问题提出,而不是作为评论放在此处。请在此处提供所有详细信息(包括代码)。谢谢!
  • 抱歉,我在那里创建了单独的问题“stackoverflow.com/questions/43134131/…”。请分享您的建议
猜你喜欢
  • 2020-09-19
  • 2016-12-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多