【发布时间】:2023-03-19 13:22:01
【问题描述】:
我正在尝试将数据从 Arduino 发布到 Application Insights。现在,payload 需要一个 time 属性,如下所示:
{
"time": "2017-06-02T07:55:29.585Z",
"iKey": "61c75aec-xxxx-xxxx-xxxx-xxxxxxxxx",
"name": "Microsoft.ApplicationInsights.61c75aecae11483ba126665023ea73be.Event",
"tags": {
"ai.device.id": "Arduino Uno",
...blah...
}
这个小东西没有实时时钟,所以我的时间戳会很飘。我试图省略该属性,但 App Insights API 抱怨并且不会获取数据 -
"message": "109: Field 'time' on type 'Envelope' is required
but missing or empty. Expected: string, Actual: undefined"
发送一个空的time 属性也不会削减它。
这里是否有解决方法来告诉 App Insights 在收到的负载上使用自己的时间戳?
【问题讨论】:
-
我知道这是一个非常间接的解决方法,但是您可以使用一些基于网络的时钟来获取当前时间来填充这里吗?这一切都取决于您在做什么以及该解决方案需要有多可靠。由于有时存在一些限制,物联网的时钟是一个难题(与某些加密货币相同)!
-
问题是即使我实现了它,我也不能相信它,如果它决定在 NTP 同步之间倒退怎么办,听起来很疯狂,但 Arduinos 上的时间是研究论文材料:) 我宁愿让另一端盖章。
-
我建议将其作为 AI 用户语音上的一个项目提交:feedback.azure.com/forums/357324-application-insights/filters/…,因为我在那里看不到任何东西。 (如果没有指定,我们不会自动填写该字段,我有点惊讶。我可以假设为什么我们可能不想要,但你应该提交它)
标签: azure azure-application-insights