github.com/epsagon/epsagon-go@v1.39.0/example/sts_example/main.go (about) 1 package main 2 3 import ( 4 "context" 5 "fmt" 6 "github.com/aws/aws-lambda-go/events" 7 "github.com/aws/aws-lambda-go/lambda" 8 "github.com/aws/aws-sdk-go-v2/aws/external" 9 "github.com/aws/aws-sdk-go-v2/service/sts" 10 "github.com/epsagon/epsagon-go/epsagon" 11 "log" 12 ) 13 14 func ddbHandler(request events.APIGatewayProxyRequest) (events.APIGatewayProxyResponse, error) { 15 cfg, err := external.LoadDefaultAWSConfig() 16 if err != nil { 17 panic("Failed to load default aws config") 18 } 19 cfg.Region = "eu-west-1" 20 svc := epsagon.WrapAwsV2Service(sts.New(cfg)).(*sts.Client) 21 req := svc.GetCallerIdentityRequest(&sts.GetCallerIdentityInput{}) 22 23 resp, err := req.Send(context.Background()) 24 if err != nil { 25 return events.APIGatewayProxyResponse{ 26 Body: fmt.Sprintf("GetCallerIdentityRequest Failed: %s\n%s", 27 resp.String(), err.Error()), 28 StatusCode: 500, 29 }, nil 30 } 31 32 log.Println("Successfully got caller identity request") 33 return events.APIGatewayProxyResponse{Body: "", StatusCode: 200}, nil 34 } 35 36 func main() { 37 log.Println("enter main") 38 config := epsagon.NewTracerConfig("ddb-test-go-v2", "") 39 config.Debug = true 40 lambda.Start(epsagon.WrapLambdaHandler(config, ddbHandler)) 41 log.Println("exit main") 42 }