gpt4 book ai didi

azure - 使用 Azure TimeSeries Insights 获取时间序列的最后值

转载 作者:行者123 更新时间:2023-12-02 08:23:14 25 4
gpt4 key购买 nike

如何查询时间序列中最后一个(最近的)事件及其时间戳?

描述的方法here对我不起作用,因为我无法保证最近的事件是在固定的时间窗口内。就我而言,该事件可能是几小时或几天前收到的。

LAST() 函数返回最后的事件,并且 Get Series API 应根据文档保留实际事件时间戳,但我对从此 API 返回的结果有点困惑。我得到多个结果(有时甚至不按时间戳排序),并且必须自己找出最新值。我还注意到查询结果实际上并没有反射(reflect)最新摄取的值。仅当我多次摄取该值时,最新摄取的值才会包含在结果集中。

是否有更直接或更可靠的方法来使用 Azure 时间序列见解获取时间序列的最后值?

最佳答案

目前,获取最后一个已知值的最可靠方法是使用 AggregateSeries API。

您可以在变量中使用last()聚合来计算最后一个事件属性和最后一个时间戳属性。您必须在查询中提供搜索范围,因此您仍然必须“猜测”最新值何时可能出现。

某些选项始终具有比您可能需要的更大的搜索范围(例如,如果传感器每天发送数据,为了安全起见,您可以输入一周的搜索范围)或使用可用性 API 来获取时间跨所有 TSID 的整个数据集的范围和分布,并将其用作搜索范围。请记住,较大的搜索范围会影响查询的性能。

以下是 LKV 查询的示例:

"aggregateSeries": {

"searchSpan": {

"from": "2020-02-01T00:00:00.000Z",

"to": "2020-02-07T00:00:00.000Z"

},

"timeSeriesId": [

"motionsensor"

],

"interval": "P30D",

"inlineVariables": {

"LastValue": {

"kind": "aggregate",

"aggregation": {

"tsx": "last($event['motion_detected'].Bool)"

}

},

"LastTimestamp": {

"kind": "aggregate",

"aggregation": {

"tsx": "last($event.$ts)"

}

}

},

"projectedVariables": [

"LastValue",

"LastTimestamp"

]

}

关于azure - 使用 Azure TimeSeries Insights 获取时间序列的最后值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66749831/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com