簡體   English   中英

永遠不會收到更改的Orion訂閱

[英]Orion subscriptions that never receive changes

我在進行訂閱時遇到一些實體問題。 訂閱完成得很好(orion響應正常,狀態為201),但是訂閱的url從未收到任何更新。

我已經通過Centos 7與docker一起啟動了fiorion-orion。

這是實體的示例。

{
        "id": "urn:ngsi-ld:ParkingGroup:Cervantes",
        "type": "ParkingGroup",
        "allowedVehicleType": {
            "type": "Property",
            "value": "car",
            "metadata": {}
        },
        "availableSpotNumber": {
            "type": "Property",
            "value": 59,
            "metadata": {}
        },
        "category": {
            "type": "Property",
            "value": [
                "offstreet",
                "feeCharged"
            ],
            "metadata": {}
        },
        "chargeType": {
            "type": "Property",
            "value": [
                "temporatyPrice"
            ],
            "metadata": {}
        },
        "description": {
            "type": "Property",
            "value": "Calle CervantesMálaga",
            "metadata": {}
        },
        "location": {
            "type": "GeoProperty",
            "value": {
                "type": "Point",
                "coordinates": [
                    "-4.4119148",
                    "36.7208633"
                ]
            },
            "metadata": {}
        },
        "name": {
            "type": "Text",
            "value": "Cervantes",
            "metadata": {}
        },
        "occupancyDetectionType": {
            "type": "Property",
            "value": "none",
            "metadata": {}
        },
        "permitActiveHours": {
            "type": "Property",
            "value": "",
            "metadata": {}
        },
        "requiredPermit": {
            "type": "Property",
            "value": "noPermitNeeded",
            "metadata": {}
        },
        "totalSpotNumber": {
            "type": "Property",
            "value": "414",
            "metadata": {}
        }
    }

我嘗試了不同的訂閱方式,所有訂閱都被Orion接受,如下所示:

{
  "description": "Notificar cambios en Aparcamientos",
  "subject": {
    "entities": [
      {
        "idPattern": ".*",
        "type":"ParkingGroup"

      }
    ],
     "condition": {
      "attrs": [
        "availableSpotNumber"
      ]
    }
  },
  "notification": {
    "attrs" : ["availableSpotNumber"],
    "http": {
      "url": "https://webhook.site/925f3290-07af-4dc9-88d2-27bcba693be5"
    }

  }
}

當我通過郵遞員在PUT模式下以此更新數據時:

HTTP:// {{獵戶}} / V2 /實體/瓮:ngsi-LD:ParkingGroup:塞萬提斯/ ATTRS / availableSpotNumber /值

和正文(文本/純文本),值為2

當我以GET模式在郵遞員中進行制作時,數據是很好的日期:http:// {{orion}} / v2 / entities / urn:ngsi-ld:ParkingGroup:Cervantes / attrs / availableSpotNumber

它返回:

{
    "type": "Property",
    "value": 2,
    "metadata": {}
}

但是訂閱的網址永遠不會收到任何東西

怎么了? 我該如何解決? 我該如何調試Orion,以了解為什么它不更新下標?

這個想法是訂閱以后的天鵝座。 我讀到我必須以這種方式為其添加attrsFormat:

"notification": {
    "http": {
      "url": "https://webhook.site/925f3290-07af-4dc9-88d2-27bcba693be5"
    },
    "attrs" : ["availableSpotNumber"],
    "attrsFormat": "legacy"
  }

提前致謝

解決了。 經過兩天的時間,與問題作斗爭並讓一些實體正常工作后,我意識到,當我進行訂閱時,Postman添加了標題(由於教程的原因):-fiware-service openiot-fiware-servicepath /

現在工作正常。

感謝Jason Fox一直在努力幫助我!

請注意如何編碼位置。 在Ngsi v2中,您需要輸入geo:json,並且坐標必須是數字而不是字符串。 在Ngsi-ld中,您需要GeoProperty,但是您的示例實體是在ngsiv2中編碼的

暫無
暫無

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

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