AWS Lambda function - can't call update thing shadow
This code is working fine for me:
def set_thing_state(thingName, state): # Change topic, qos and payload payload = json.dumps({'state': { 'desired': { 'property': state } }}) logger.info("IOT update, thingName:"+thingName+", payload:"+payload) #payload = {'state': { 'desired': { 'property': state } }} response = client.update_thing_shadow( thingName = thingName, payload = payload ) logger.info("IOT response: " + str(response)) logger.info("Body:"+response['payload'].read())def get_thing_state(thingName): response = client.get_thing_shadow(thingName=thingName) streamingBody = response["payload"] jsonState = json.loads(streamingBody.read()) print jsonState #print jsonState["state"]["reported"]
Good luck
garnaat is right.Just replace payload = b'mypayload'
with payload = mypayload
and it should work.