我正在构建一个连接器,该连接器连接到API,该API为基于时间序列的指标(例如“每天的用户数量”)和静态指标(例如“项目状态”)提供端点。
如果要构建单个连接器,则必须在时间序列值中插入静态指标,对吧?
所以,如果我的模式是
[{name=day}, {name=users}, {name=status}]
然后我的值应该是
['20181101', 150, '85%']
['20181102', 125, '85%']
['20181103', 134, '85%']
['20181104', 185, '85%']
['20181105', 111, '85%']
['20181106', 123, '85%']
因为“状态”字段与时间无关。
虽然这似乎可行,但效率似乎很低。我有什么需要缺少的,还是应该为静态指标端点构建一个单独的连接器?
谢谢!
答案 0 :(得分:1)
听起来像您正在根据自己的描述尝试合并两个独立的表。如果您有一个带有日期的时间序列数据,以及一个没有日期的独立项目状态序列,则拆分连接器以返回两个不同的序列。
getSchema方法传递了一个请求对象,因为它超出了getConfig()的调用。因此,可以根据参数拆分该模式。例如:
function getSchema(request){
switch(request.configParams.myTableOption){
case 'tableOption1':
return mySchemaObject.tableOption1;
case 'tableOption1':
return mySchemaObject.tableOption1;
}
}
当然,超级简化了,但是应该提供一个更加灵活的连接器,它可以返回不同的表类型。您还必须类似地拆分getData()以返回正确的数据,但是相同的configParam会对该连接器进行后续请求,因此您也可以依靠它来执行此操作。