对于每个敏锐事件,敏锐对象都会自动附加敏锐对象的结构。
var keen_event = {
"keen": {
"created_at": "2012-12-14T20:24:01.123000+00:00",
"timestamp": "2012-12-14T20:24:01.123000+00:00",
"id": "asd9fadifjaqw9asdfasdf939"
},
other properties...
}
但我想在敏锐的对象中添加其他自定义属性:
{
"keen": {
"created_at": "2012-12-14T20:24:01.123000+00:00",
"timestamp": "2012-12-14T20:24:01.123000+00:00",
"id": "asd9fadifjaqw9asdfasdf939",
"event_type" : "some_values",
...
}
}
我尝试在 eager 上添加其他属性,然后将 eager_event 编码为:
var encodedData = base64.encode(JSON.stringify(keen_event));
然后将编码数据传递到敏锐的 api 来创建事件,但我收到错误:“敏锐命名空间的属性无效。您使用了:\'event_type\'”。
有解决办法吗?创建敏锐事件时,是否可以在“敏锐”对象上添加除标准属性之外的自定义键值属性?提前致谢。
最佳答案
不可以,Keen API 不允许这样做。 keen
命名空间是保留的,并且只能在该命名空间中指定一小部分属性(例如 keen.timestamp
或 keen.addons
)当写入事件时。保留命名空间是为了允许 Keen 将来添加新的特殊用途属性,而不必担心与用户定义的属性发生冲突。 (另请参阅:https://keen.io/docs/api/#the-keen-object。)
也许值得退后一步问:为什么要向 keen
命名空间添加自定义属性?它可以让您做哪些使用 my.keen.x
或 keen_custom.x
无法做到的事情?
仅供引用:我是 Keen 的平台工程师:)
关于node.js - 是否可以在 "keen"对象中添加除标准属性之外的其他用户定义属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48091211/