in greengrass-v2/poll-api/artifacts/com.greengrass.ProcessApiStream/1.0.0/process.py [0:0]
def process_message_list(check_field_number, check_field_min_value, check_field_max_value, low_value_stream_name,
high_value_stream_name, abnormal_value_stream_name, message_list):
for message in message_list:
payload_dict = GGUtils.get_dict_from_message(message)
found_high, found_low = check_payload_for_outliers(payload_dict, check_field_number, check_field_min_value,
check_field_max_value)
if found_high:
# Log high values
GGUtils.append_message_to_stream(high_value_stream_name, message.payload)
if found_low:
# Log low values
GGUtils.append_message_to_stream(low_value_stream_name, message.payload)
if found_high or found_low:
# Log high and low values in a combined stream
GGUtils.append_message_to_stream(abnormal_value_stream_name, message.payload)
# Publish them to IoT Core as well
GGUtils.publish_results_to_cloud_qos_1("anomalies", payload_dict)