Lambdaを利用してCloudWatchLogsのログのメッセージを取得します
- Lambda の呼び出しについて
- Lambda サービスのストリーミングの開始を選択 -> フィルタ開始 -> Lambda起動 -> UUID の メトリクスフィルタ -> Alarm の作成をし、Event として Lambda を起動します。
main.go
package main
import (
"context"
"log"
"github.com/aws/aws-lambda-go/events"
"github.com/aws/aws-lambda-go/lambda"
)
func HandleRequest(ctx context.Context, event events.CloudwatchLogsEvent) (string, error) {
log.Print("Event received.")
data, _ := event.AWSLogs.Parse()
// Write received message to log.
for i := range data.LogEvents {
log.Print(data.LogEvents[i].Message)
}
return "ok", nil
}
func main() {
lambda.Start(HandleRequest)
}