in greengrass-v2/poll-api/artifacts/com.greengrass.ProcessApiStream/1.0.0/process.py [0:0]
def process_api(config):
config = GGUtils.check_any_required_value(FILTERED_STREAM_NAME, config, "filtered stream name")
config = GGUtils.check_required_value(CHECK_FIELD_NUMBER, config, "check field number")
config = GGUtils.check_required_value(CHECK_FIELD_MIN_VALUE, config, "check field minimum value", lambda x: int(x))
config = GGUtils.check_required_value(CHECK_FIELD_MAX_VALUE, config, "check field maximum value", lambda x: int(x))
config = GGUtils.check_required_value(LOW_VALUE_STREAM_NAME, config, "low value stream name")
config = GGUtils.check_required_value(HIGH_VALUE_STREAM_NAME, config, "high value stream name")
config = GGUtils.check_required_value(ABNORMAL_VALUE_STREAM_NAME, config, "abnormal value stream name")
config = GGUtils.check_value_with_default(GGUtils.NEXT_SEQUENCE_NUMBER, config, "next sequence number", 0,
lambda x: int(x))
create_output_streams(config)
filtered_stream_name = config[GGUtils.find_key_name(FILTERED_STREAM_NAME, config, "filtered stream name")]
next_sequence_number = config[GGUtils.NEXT_SEQUENCE_NUMBER]
abnormal_value_stream_name = config[ABNORMAL_VALUE_STREAM_NAME]
high_value_stream_name = config[HIGH_VALUE_STREAM_NAME]
low_value_stream_name = config[LOW_VALUE_STREAM_NAME]
check_field_max_value = config[CHECK_FIELD_MAX_VALUE]
check_field_min_value = config[CHECK_FIELD_MIN_VALUE]
check_field_number = config[CHECK_FIELD_NUMBER]
def processing_function(message_list):
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)
# Process the list of messages we received
GGUtils.loop_over_stream(filtered_stream_name, next_sequence_number, processing_function=processing_function)