Skills covered: 4.1.2, 4.1.3, 4.1.4, 4.2.2, 4.2.3
import json
def handler(event, context):
print(json.dumps({
'level': 'INFO', 'message': 'Processing order',
'orderId': event.get('orderId'), 'requestId': context.aws_request_id
}))
cloudwatch.put_metric_data(
Namespace='MyApp',
MetricData=[{'MetricName': 'OrderProcessed', 'Value': 1, 'Unit': 'Count'}]
)
print(json.dumps({
'_aws': {
'Timestamp': int(time.time() * 1000),
'CloudWatchMetrics': [{'Namespace': 'MyApp', 'Dimensions': [['Service']],
'Metrics': [{'Name': 'ProcessingTime', 'Unit': 'Milliseconds'}]}]
},
'Service': 'OrderService', 'ProcessingTime': 250
}))
fields @timestamp, @message
| filter @message like /ERROR/
| stats count(*) as errorCount by bin(5m)
{ $.level = "ERROR" } → Metric: ErrorCount