FIWARE Orion:过滤订阅

时间:2018-02-08 10:52:44

标签: fiware fiware-orion

我们使用Orion注册订阅。我们的应用程序中有两种订阅:

  • 用户订阅:用户使用我们的GUI创建它们。
  • 内部订阅:系统使用它们进行组件之间的通信。

问题在于区分这两者,以便仅向用户呈现面向用户的订阅。 我可以使用哪个订阅字段?例如,有一个字段“类型”会很好。

3 个答案:

答案 0 :(得分:2)

我同意Jose Manuel所说的,这将是一个非常好的功能。

除了他的答复,与此同时我认为你可以使用"元数据"订阅中的字段,用于区分用户订阅和内部订阅。请记住,这个领域并不是为了这个目的,而是它的类型"黑暗"实现所需行为的方法。

以下是使用我的方法创建订阅的示例。在这种情况下,您使用元数据字段创建订阅" isInternal"这只是告诉你这是一个内部订阅。然后,您可以使用另一个不同的元数据字段作为标记,只是为了识别用户订阅:

curl -X POST \
  http://localhost:1026/v2/subscriptions \
  -H 'Content-Type: application/json' \
  -d '{
       "description": "A subscription to get info about Room1",
       "subject": {
         "entities": [
           {
             "id": "Room1",
             "type": "Room"
           }
         ],
         "condition": {
           "attrs": [
             "temperature"
           ]
         }
       },
       "notification": {
         "http": {
           "url": "http://localhost:1028/accumulate"
         },
         "attrs": ["temperature"],
         "metadata": ["isInternal"]
       }
     }'

有关订阅中元数据字段及其正常使用的详细信息,请参阅此documentation

答案 1 :(得分:1)

将来可能很高兴在订阅(应用程序定义)中提供额外字段的可能性,并且能够通过订阅进行查询(当前无法完成的事情)。

答案 2 :(得分:0)

解决方案可能是利用与订阅相关联的description字段在两种类型之间进行distinghuish。

相关问题