Возможно ли обновление дочернего атрибута через функцию updateAttributes() от Wirecloud NGSI API?Атрибуты обновления NGSI от сложных объектов в Wirecloud
Например, координата (entity.location.coords.coordinates [0] = - 2.000000) в этой части объекта.
"attrNames": [ "A1", "A2", "position" ],
"creDate": 1389376081,
"modDate": 1389376244,
"location": {
"attrName": "position",
"coords": {
"type": "Point",
"coordinates": [ -3.691944, 40.418889 ]
}
EDITED
Мой собственный ответ: Это возможно путем передачи объекта в качестве значения атрибута.
ngsi.updateAttributes([
{
'entity': {'id': "entity-id"},
'attributes':[{
"name":"location","contextValue": {
"attrName": "position",
"coords": {
"type": "Point",
"coordinates": [ -2.000000, 40.418889 ]
}
}
}]
}
], {
onSuccess: onUpdateAttributesSuccess,
onFailure: onUpdateAttributesFail
}
);
Однако Wirecloud использует NGSI API v1, поэтому все атрибуты трактуются как строки, когда они отправляются/принимаются в/из Orion.
Подробнее: http://fiware-orion.readthedocs.io/en/master/user/structured_attribute_valued/