1
1
package main
2
2
3
3
import (
4
- "os "
5
- "log "
6
- "context "
7
- "encoding/json "
8
- runtime "github.com/aws/aws-lambda-go/lambda "
9
- "github.com/aws/aws-lambda -go/events "
10
- "github.com/aws/aws-lambda -go/lambdacontext "
11
- "github.com/aws/aws-sdk-go/aws/session "
12
- "github.com/aws/aws-sdk-go/service/lambda "
4
+ "context "
5
+ "encoding/json "
6
+ "github.com/aws/aws-lambda-go/events "
7
+ runtime "github.com/aws/aws-lambda-go/lambda "
8
+ "github.com/aws/aws-lambda-go/lambdacontext "
9
+ "github.com/aws/aws-sdk -go/aws/session "
10
+ "github.com/aws/aws-sdk -go/service/lambda "
11
+ "log "
12
+ "os "
13
13
)
14
14
15
15
var client = lambda .New (session .New ())
16
16
17
- func init () {
18
- callLambda ()
19
- }
20
-
21
17
func callLambda () (string , error ) {
22
- input := & lambda.GetAccountSettingsInput {}
23
- req , resp := client .GetAccountSettingsRequest (input )
24
- err := req .Send ()
25
- output , _ := json .Marshal (resp .AccountUsage )
26
- return string (output ), err
18
+ input := & lambda.GetAccountSettingsInput {}
19
+ req , resp := client .GetAccountSettingsRequest (input )
20
+ err := req .Send ()
21
+ output , _ := json .Marshal (resp .AccountUsage )
22
+ return string (output ), err
27
23
}
28
24
29
25
func handleRequest (ctx context.Context , event events.SQSEvent ) (string , error ) {
30
- // event
31
- eventJson , _ := json .MarshalIndent (event , "" , " " )
32
- log .Printf ("EVENT: %s" , eventJson )
33
- // environment variables
34
- log .Printf ("REGION: %s" , os .Getenv ("AWS_REGION" ))
35
- log .Println ("ALL ENV VARS:" )
36
- for _ , element := range os .Environ () {
37
- log .Println (element )
38
- }
39
- // request context
40
- lc , _ := lambdacontext .FromContext (ctx )
41
- log .Printf ("REQUEST ID: %s" , lc .AwsRequestID )
42
- // global variable
43
- log .Printf ("FUNCTION NAME: %s" , lambdacontext .FunctionName )
44
- // context method
45
- deadline , _ := ctx .Deadline ()
46
- log .Printf ("DEADLINE: %s" , deadline )
47
- // AWS SDK call
48
- usage , err := callLambda ()
49
- if err != nil {
50
- return "ERROR" , err
51
- }
52
- return usage , nil
26
+ // event
27
+ eventJson , _ := json .MarshalIndent (event , "" , " " )
28
+ log .Printf ("EVENT: %s" , eventJson )
29
+ // environment variables
30
+ log .Printf ("REGION: %s" , os .Getenv ("AWS_REGION" ))
31
+ log .Println ("ALL ENV VARS:" )
32
+ for _ , element := range os .Environ () {
33
+ log .Println (element )
34
+ }
35
+ // request context
36
+ lc , _ := lambdacontext .FromContext (ctx )
37
+ log .Printf ("REQUEST ID: %s" , lc .AwsRequestID )
38
+ // global variable
39
+ log .Printf ("FUNCTION NAME: %s" , lambdacontext .FunctionName )
40
+ // context method
41
+ deadline , _ := ctx .Deadline ()
42
+ log .Printf ("DEADLINE: %s" , deadline )
43
+ // AWS SDK call
44
+ usage , err := callLambda ()
45
+ if err != nil {
46
+ return "ERROR" , err
47
+ }
48
+ return usage , nil
53
49
}
54
50
55
51
func main () {
56
- runtime .Start (handleRequest )
57
- }
52
+ runtime .Start (handleRequest )
53
+ }
0 commit comments