The properties go into the Event Store immediately but you have to train to get them into the model, this assuming your template support item properties. If yo uare using the UR, the properties will not get into the model until the next `pio train…`
On Dec 22, 2017, at 3:37 AM, Noelia Osés Fernández <no...@vicomtech.org> wrote: Hi all, I have a pio app and I need to update item properties regularly. However, not all items will have all properties always. So I want to update the properties dynamically doing something similiar to the following: # create properties json propertiesjson = '{' if "tiempo" in dfcolumns: propertiesjson = propertiesjson + '"tiempo": ' + str(int(plan.tiempo)) if "duracion" in dfcolumns: propertiesjson = propertiesjson + ', "duracion": ' + str(plan.duracion) propertiesjson = propertiesjson + '}' # add event client.create_event( event="$set", entity_type="item", entity_id=plan.id_product, properties=json.dumps(propertiesjson) ) However, this results in an error message: Traceback (most recent call last): File "import_itemproperties.py", line 110, in <module> import_events(client, args.dbuser, args.dbpasswd, args.dbhost, args.dbname) File "import_itemproperties.py", line 73, in import_events properties=json.dumps(propertiesjson) File "/home/ubuntu/.local/lib/python2.7/site-packages/predictionio/__init__.py", line 255, in create_event event_time).get_response() File "/home/ubuntu/.local/lib/python2.7/site-packages/predictionio/connection.py", line 111, in get_response self._response = self.rfunc(tmp_response) File "/home/ubuntu/.local/lib/python2.7/site-packages/predictionio/__init__.py", line 130, in _acreate_resp response.body)) predictionio.NotCreatedError: request: POST /events.json?accessKey=0Hys1qwfgo3vF16jElBDJJnSLmrkN5Tg86qAPqepYPK_-lXMqI4NMjLXaBGgQJ4U {'entityId': 8, 'entityType': 'item', 'properties': '"{\\"tiempo\\": 2, \\"duracion\\": 60}"', 'event': '$set', 'eventTime': '2017-12-22T11:29:59.762+0000'} /events.json?accessKey=0Hys1qwfgo3vF16jElBDJJnSLmrkN5Tg86qAPqepYPK_-lXMqI4NMjLXaBGgQJ4U?entityId=8&entityType=item&properties=%22%7B%5C%22tiempo%5C%22%3A+2%2C+%5C%22duracion%5C%22%3A+60%2C&event=%24set&eventTime=2017-12-22T11%3A29%3A59.762%2B0000 status: 400 body: {"message":"org.json4s.package$MappingException: Expected object but got JString(\"{\\\"tiempo\\\": 2, \\\"duracion\\\": 60}\")"} Any help is much appreciated! Season's greetings! Noelia