def function_handler()

in functions/CloudWatchMetricHandlerPython3/CloudWatchMetricHandlerPython3.py [0:0]


def function_handler(event, context):
    for key in event.keys():
        value = event[key]

        if not isinstance(value, list):
            continue

        # We have a list, find elements that are dictionaries that have the expected keys
        for element in value:
            if not isinstance(element, dict):
                continue

            if not 'name' in element.keys():
                continue

            if not 'unit' in element.keys():
                continue

            if not 'value' in element.keys():
                continue

            name = element['name']
            unit = element['unit']
            value = element['value']

            cloudwatch_client.put_metric_data(Namespace=NAMESPACE,
                                              MetricData=[
                                                  {
                                                      'MetricName': name,
                                                      'Value': value,
                                                      'Unit': unit
                                                  }
                                              ])

    return