INNER CODE UNIT · Go

handler

brexhq/substation · cmd/aws/lambda/autoscale/main.go:104

func handler(ctx context.Context, snsEvent events.SNSEvent) error {
	payload := snsEvent.Records[0].SNS
	topicArn := payload.TopicArn
	message := payload.Message

	alarmName := gjson.Get(message, "AlarmName").String()
	triggerMetrics := gjson.Get(message, "Trigger.Metrics")

	log.WithField("alarm", alarmName).Debug("Received autoscale notification.")

	var stream string
	for _, v := range triggerMetrics.Array() {
		id := gjson.Get(v.String(), "Id").String()
		if id == "m1" || id == "m2" {
			stream = gjson.Get(v.String(), "MetricStat.Metric.Dimensions.0.value").String()
			break
		}
	}

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…