簡體   English   中英

FIWARE Orion:過濾訂閱

[英]FIWARE Orion: Filter subscriptions

我們使用Orion來注冊訂閱。 我們的應用程序中有兩種訂閱:

  • 用戶訂閱:它們由用戶使用我們的GUI創建。
  • 內部訂閱:系統將它們用於組件之間的通信。

問題是要區分兩者,以便僅向用戶提供面向用戶的訂閱。 我可以使用哪個訂閱字段? 例如,最好有一個字段“ type”。

我同意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"]
       }
     }'

有關訂閱中的元數據字段及其正常使用的更多信息,請參考此文檔

將來可能會很可能在訂閱(應用程序定義)中打開額外字段的可能性,並能夠對訂閱進行查詢(當前無法完成的操作)。

一個解決方案可能是利用與訂閱相關聯的description字段來區分兩種類型。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM