FIWARE Orion: изменить тип объекта - PullRequest
1 голос
/ 18 мая 2019

В Орионе можно ли изменить тип объекта? Связанный вопрос, можно ли изменить тип атрибута?

Редактировать: Изменение типа объекта не представляется возможным. Таким образом, создание новой сущности кажется решением. Но как сохранить dateCreated и dateModified?

1 Ответ

1 голос
/ 20 мая 2019

В Орионе можно ли изменить тип сущности

Не напрямую.Идентификатор объекта и тип объекта являются неизменяемыми.Однако вы можете создать копию объекта с новым типом, а затем удалить старый объект.Это будет иметь тот же эффект.

Схожий вопрос, возможно ли изменить тип атрибута?

Да, это так.При обновлении атрибута можно изменять не только значение, но и тип (и метаданные).

EDIT : dateModified и dateCreation атрибуты и метаданные предназначены дляуправляется Context Broker автоматически.Клиенты не могут их изменять, они «только для чтения».Идея состоит в том, что данный клиент-потребитель контекста (который, в принципе, не зависит от клиента-производителя контекста, создающего / обновляющего объект), имеет надежную временную метку, которую никто не может изменить.

Итак, у вас есть в основном две альтернативы:

  1. Используйте ваши собственные атрибуты метки времени и метаданные.Их можно «переместить» в новую сущность при ее создании.Однако CB не будет поддерживать их автоматически, поэтому вашему приложению придется это делать.

  2. Используйте процесс вне API, перемещая сущность на уровне БД.Однако это может быть сложно, так как вам необходим прямой доступ к БД.

EDIT2 : для второго случая (процесс на основе БД) учитывайте Орион БД модель .В частности:

  • _id.type для типа объекта
  • creDate для даты создания объекта
  • modDate для даты изменения объекта
  • attrs.A.creDate для атрибута A дата создания
  • attrs.A.modDate для атрибута A дата изменения
...