[Backlogmanager] [FIWARE-JIRA] (HELP-14931) FIWARE.Question.Tech.How can you store structured context values for attributes in Fiware STH data store?.

Fernando Lopez (JIRA) jira-help-desk at jira.fiware.org
Wed Dec 19 17:55:00 CET 2018


     [ https://jira.fiware.org/browse/HELP-14931?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Fernando Lopez updated HELP-14931:
----------------------------------
    Description: 
Created question in FIWARE Q/A platform on 02-11-2018 at 19:11
{color: red}Please, ANSWER this question AT{color} https://stackoverflow.com/questions/53124128/how-can-you-store-structured-context-values-for-attributes-in-fiware-sth-data-st


+Question:+
How can you store structured context values for attributes in Fiware STH data store?

+Description:+
Background

I'm using the following Generic Enablers in a specific application that I am building over FIWARE: 


Orion Context Broker
CYGNUS NGSI
STH-Comet


Also, I'm using MongoDB database, in order to persist all raw historical data received by Cygnus. To do so, I've configured a MongoDB Sink in CYGNUS, as indicated here.

Then I have a context entity, for which some attributes has structured values, instead of simple types like string. For example: a collection or a dictionary. 

Fortunately this is possible!! Check the Orion's official documentation for details.


  Apart from simple values such as 22.5 or "yellow", you can use complex structures as attribute values. In particular, an attribute can be set to a vector or to a key-value map (usually referred to as an "object") at creation/update time. These values are retrieved at query and notification time


The Problem

I was able to correctly define the value of these attributes through creation/update operations in Orion Context Broker but when these values are stored in my STH-Comet database they are stored as an "escaped" string (see the detailed example below).

{
    "_id" : ObjectId("5bdb611d9aa6ab00017e8c82"),
    "recvTime" : ISODate("2018-11-01T20:25:01.640Z"),
    "entityId" : "foo",
    "entityType" : "foo",
    "attrName" : "bar",
    "attrType" : "T",
    "attrValue" : "[{\"nested_attr1\":\"v1\"},{\"nested_attr2\":\"v2\"}]"
}


Question

So my question is, what did I do wrong? Maybe I missed some detail within my configuration?

Thank you in advance


  was:

Created question in FIWARE Q/A platform on 02-11-2018 at 19:11
{color: red}Please, ANSWER this question AT{color} https://stackoverflow.com/questions/53124128/how-can-you-store-structured-context-values-for-attributes-in-fiware-sth-data-st


+Question:+
How can you store structured context values for attributes in Fiware STH data store?

+Description:+
Background

I'm using the following Generic Enablers in a specific application that I am building over FIWARE: 


Orion Context Broker
CYGNUS NGSI
STH-Comet


Also, I'm using MongoDB database, in order to persist all raw historical data received by Cygnus. To do so, I've configured a MongoDB Sink in CYGNUS, as indicated here.

Then I have a context entity, for which some attributes has structured values, instead of simple types like string. For example: a collection or a dictionary. 

Fortunately this is possible!! Check the Orion's official documentation for details.


  Apart from simple values such as 22.5 or "yellow", you can use complex structures as attribute values. In particular, an attribute can be set to a vector or to a key-value map (usually referred to as an "object") at creation/update time. These values are retrieved at query and notification time


The Problem

I was able to correctly define the value of these attributes through creation/update operations in Orion Context Broker but when these values are stored in my STH-Comet database they are stored as an "escaped" string (see the detailed example below).

{
    "_id" : ObjectId("5bdb611d9aa6ab00017e8c82"),
    "recvTime" : ISODate("2018-11-01T20:25:01.640Z"),
    "entityId" : "foo",
    "entityType" : "foo",
    "attrName" : "bar",
    "attrType" : "T",
    "attrValue" : "[{\"nested_attr1\":\"v1\"},{\"nested_attr2\":\"v2\"}]"
}


Question

So my question is, what did I do wrong? Maybe I missed some detail within my configuration?

Thank you in advance


     HD-Enabler: STH-Comet

> FIWARE.Question.Tech.How can you store structured context values for attributes in Fiware STH data store?.
> ----------------------------------------------------------------------------------------------------------
>
>                 Key: HELP-14931
>                 URL: https://jira.fiware.org/browse/HELP-14931
>             Project: Help-Desk
>          Issue Type: Monitor
>          Components: FIWARE-TECH-HELP
>            Reporter: Backlog Manager
>            Assignee: Andres Muñoz
>              Labels: fiware, fiware-cygnus, fiware-orion, fiware-sth-comet
>
> Created question in FIWARE Q/A platform on 02-11-2018 at 19:11
> {color: red}Please, ANSWER this question AT{color} https://stackoverflow.com/questions/53124128/how-can-you-store-structured-context-values-for-attributes-in-fiware-sth-data-st
> +Question:+
> How can you store structured context values for attributes in Fiware STH data store?
> +Description:+
> Background
> I'm using the following Generic Enablers in a specific application that I am building over FIWARE: 
> Orion Context Broker
> CYGNUS NGSI
> STH-Comet
> Also, I'm using MongoDB database, in order to persist all raw historical data received by Cygnus. To do so, I've configured a MongoDB Sink in CYGNUS, as indicated here.
> Then I have a context entity, for which some attributes has structured values, instead of simple types like string. For example: a collection or a dictionary. 
> Fortunately this is possible!! Check the Orion's official documentation for details.
>   Apart from simple values such as 22.5 or "yellow", you can use complex structures as attribute values. In particular, an attribute can be set to a vector or to a key-value map (usually referred to as an "object") at creation/update time. These values are retrieved at query and notification time
> The Problem
> I was able to correctly define the value of these attributes through creation/update operations in Orion Context Broker but when these values are stored in my STH-Comet database they are stored as an "escaped" string (see the detailed example below).
> {
>     "_id" : ObjectId("5bdb611d9aa6ab00017e8c82"),
>     "recvTime" : ISODate("2018-11-01T20:25:01.640Z"),
>     "entityId" : "foo",
>     "entityType" : "foo",
>     "attrName" : "bar",
>     "attrType" : "T",
>     "attrValue" : "[{\"nested_attr1\":\"v1\"},{\"nested_attr2\":\"v2\"}]"
> }
> Question
> So my question is, what did I do wrong? Maybe I missed some detail within my configuration?
> Thank you in advance



--
This message was sent by Atlassian JIRA
(v6.4.1#64016)


More information about the Backlogmanager mailing list

You can get more information about our cookies and privacy policies clicking on the following links: Privacy policy   Cookies policy