MCPcopy Create free account
hub / github.com/aws-samples/aws-cdk-examples / NewLambdaCronStack

Function NewLambdaCronStack

go/lambda-cron/lambda-cron.go:16–41  ·  view source on GitHub ↗
(scope constructs.Construct, id string, props *LambdaCronStackProps)

Source from the content-addressed store, hash-verified

14}
15
16func NewLambdaCronStack(scope constructs.Construct, id string, props *LambdaCronStackProps) awscdk.Stack {
17 var sprops awscdk.StackProps
18 if props != nil {
19 sprops = props.StackProps
20 }
21 stack := awscdk.NewStack(scope, &id, &sprops)
22
23 // The code that defines your stack goes here
24
25 lambdaFn := awslambda.NewFunction(stack, jsii.String("Singleton"), &awslambda.FunctionProps{
26 Code: awslambda.NewAssetCode(jsii.String("lambda"), nil),
27 Handler: jsii.String("handler.main"),
28 Timeout: awscdk.Duration_Seconds(jsii.Number(300)),
29 Runtime: awslambda.Runtime_PYTHON_3_6(),
30 });
31
32 // Run every day at 6PM UTC
33 // See https://docs.aws.amazon.com/lambda/latest/dg/tutorial-scheduled-events-schedule-expressions.html
34 rule := awsevents.NewRule(stack, jsii.String("Rule"), &awsevents.RuleProps{
35 Schedule: awsevents.Schedule_Expression(jsii.String("cron(0 18 ? * MON-FRI *)")),
36 });
37
38 rule.AddTarget(awseventstargets.NewLambdaFunction(lambdaFn, nil));
39
40 return stack
41}
42
43func main() {
44 app := awscdk.NewApp(nil)

Callers 2

TestLambdaCronStackFunction · 0.85
mainFunction · 0.85

Calls

no outgoing calls

Tested by 1

TestLambdaCronStackFunction · 0.68