我试图为同一类型的所有实体声明一个通用的Context Provider。我一直在看的示例仅为集合的一个元素定义了上下文提供程序,似乎无法为此定义模式。实际上,似乎不允许在Context Provider声明时使用idPattern。
其他相关问题是从orion到上下文提供程序的转发不包含相同的有效负载,从而失去了限制部分。
我做错了什么?
我尝试了不同的方法,下面有一个例子。
http://10.174.123.243:1026/v1/registry/registerContext
{
"contextRegistrations": [
{
"entities": [
{
"type": "DATO_METEREOLOGICO",
"isPattern": "true",
"id": ".*"
}
],
"providingApplication": "http://10.174.123.210:8080/smarnet/observaciones"
}
],
"duration": "P1M"
}
在ORION日志中," isPattern":" true"替换为" isPattern":" false"当id等于'。'
时,它只是fordwards我们正在使用ORION版本1.2.0。
提前致谢。
答案 0 :(得分:1)
目前,Context Broker注册中不支持实体模式。 Documentation已更新,以明确说明:
在NGSIv1注册中,
isPattern
无法设置为"true"
。如果是,则注册失败并返回错误。 OMA规范允许在注册中的实体id中使用正则表达式,但截至目前,Context Broker不支持此功能。
事实上,在Orion 1.2.0中,由于a bug,错误返回逻辑失败。因此,创建了注册(但没有模式解释),而不是响应错误。错误修正已经在开发分支中实现,并将包含在下一个Orion版本(1.3.0)中。