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