Устройство создается при отправке мер на несуществующее устройство - IoTAgent-UL

Мы обнаружили ошибку в IoT Agent Ultralight.

Если мы попытаемся отправить показатель на несуществующее устройство, мы получим 404 - DEVICE_NOT_FOUND ошибку, но в то же время устройство без какого-либо атрибута будет создано в базе данных IoTA и Orion CB.

Когда я говорю об устройстве без какого-либо атрибута, я имею в виду следующее:

{
    "device_id": "test",
    "service": "MyService",
    "service_path": "/MyServicePath",
    "entity_name": "MyEntity:test",
    "entity_type": "MyEntity",
    "attributes": [],
    "lazy": [],
    "commands": [],
    "static_attributes": []
}

Это очень важная ошибка, потому что действительно просто создать столько устройств, сколько кто-то захочет, и это может съесть пространство нашей базы данных.

Кто-нибудь знает, как это решить?


person gobaldia    schedule 13.07.2017    source источник


Ответы (1)


  • Какую версию IotAgent-ul и внешних компонентов, я имею в виду (Fiware OCB и MongoDB), вы используете? Настоятельно рекомендуется использовать последнюю версию.
  • Это хороший способ запустить OCB и MongoDB с использованием образов докеров.
  • Не могли бы вы предоставить нам свои команды / код, который вы использовали для отправки сообщения?

Я сам протестировал его, и он отлично работает:

Команды Curl, используемые для успокоения:

#!/usr/local/bin
mosquitto_pub -t /TEF/sensor03/attrs -m 't|45|c|extreme'

Ответ от IotAgent-ul:

    {"op":"IOTAUL.Executable","time":"2018-09-21T09:59:17.906Z","lvl":"INFO","msg":"Ultralight 2.0 IoT Agent started"}
time=2018-09-21T09:59:32.679Z | lvl=DEBUG | corr=dbbcd94d-50fc-4062-a05b-bccfa76c52c8 | trans=dbbcd94d-50fc-4062-a05b-bccfa76c52c8 | op=IoTAgentNGSI.MongoDBDeviceRegister | srv=n/a | subsrv=n/a | msg=Looking for device with filter [{"id":"sensor03"}]. | comp=IoTAgent
Mongoose: mpromise (mongoose's default promise library) is deprecated, plug in your own promise library instead: http://mongoosejs.com/docs/promises.html
time=2018-09-21T09:59:32.717Z | lvl=ERROR | corr=dbbcd94d-50fc-4062-a05b-bccfa76c52c8 | trans=dbbcd94d-50fc-4062-a05b-bccfa76c52c8 | op=IOTAUL.IoTUtils | srv=n/a | subsrv=n/a | msg=MEASURES-001: Couldn't find device data for APIKey [TEF] and DeviceId[sensor03] | comp=IoTAgent
time=2018-09-21T09:59:32.717Z | lvl=ERROR | corr=dbbcd94d-50fc-4062-a05b-bccfa76c52c8 | trans=dbbcd94d-50fc-4062-a05b-bccfa76c52c8 | op=IOTAUL.Common.Binding | srv=n/a | subsrv=n/a | msg=MEASURES-005: Error before processing device measures [/TEF/sensor03/attrs] | comp=IoTAgent
time=2018-09-21T10:09:51.484Z | lvl=DEBUG | corr=dbbcd94d-50fc-4062-a05b-bccfa76c52c8 | trans=dbbcd94d-50fc-4062-a05b-bccfa76c52c8 | op=IoTAgentNGSI.MongoDBDeviceRegister | srv=n/a | subsrv=n/a | msg=Looking for device with filter [{"id":"sensor03"}]. | comp=IoTAgent
time=2018-09-21T10:09:51.504Z | lvl=ERROR | corr=dbbcd94d-50fc-4062-a05b-bccfa76c52c8 | trans=dbbcd94d-50fc-4062-a05b-bccfa76c52c8 | op=IOTAUL.IoTUtils | srv=n/a | subsrv=n/a | msg=MEASURES-001: Couldn't find device data for APIKey [TEF] and DeviceId[sensor03] | comp=IoTAgent
time=2018-09-21T10:09:51.509Z | lvl=ERROR | corr=dbbcd94d-50fc-4062-a05b-bccfa76c52c8 | trans=dbbcd94d-50fc-4062-a05b-bccfa76c52c8 | op=IOTAUL.Common.Binding | srv=n/a | subsrv=n/a | msg=MEASURES-005: Error before processing device measures [/TEF/sensor03/attrs] | comp=IoTAgent

Показать данные из MongoDB

    root@727724bdd3d9:/# mongo --shell
MongoDB shell version: 3.2.21
connecting to: test
type "help" for help
Welcome to the MongoDB shell.
For interactive help, type "help".
For more comprehensive documentation, see
    http://docs.mongodb.org/
Questions? Try the support group
    http://groups.google.com/group/mongodb-user
> show dbs
iotagentul  0.000GB
local       0.000GB
orion       0.000GB

Мне кажется, что у вас что-то не так с настройкой конфигурации. Пожалуйста, предоставьте нам все моменты, прежде чем комментировать, и для приятного продолжения, не могли бы вы открыть его на сайте Github? IotAgent-UL Возьмите здесь

Спасибо,

Фернандо Мендес - младший инженер-программист-исследователь

person Fernando Méndez Requena    schedule 21.09.2018