in index.py [0:0]
def update_alarm_in(shards, stream):
new_threshold = (1000 * shards * 60)*80/100 #assuming alarm will fire at 80% of incoming records
try:
set_alarm = client_cloudwatch.put_metric_alarm(
AlarmName=CLOUDWATCHALARMNAMEIN,
AlarmDescription='incomingRecord below threshold',
MetricName='IncomingRecords',
Namespace='AWS/Kinesis',
Dimensions=[
{
'Name':'StreamName',
'Value':stream
}
],
Statistic='Sum',
Period=300,
EvaluationPeriods=3,
Threshold=new_threshold,
ComparisonOperator='LessThanThreshold',
AlarmActions=[
AUTOSCALINGPOLICYIN_ARN
]
)
except Exception as e:
print (e)