Lambda Example using AWS CDK

Vipul Munot
Aug 10, 2022

--

In this article we are going to cover some of the most common properties we use to create and configure an lambda in AWS CDK.

At the time of writing I was using CDK version: 2.34.2

Importing Dependencies

from aws_cdk import ( aws_iam as iam,aws_lambda as lambda_,     aws_lambda_destinations as destinations, )

Lambda Role

lambda_role = iam.Role(
self,
"lambda-role",
assumed_by=iam.CompositePrincipal(
iam.ServicePrincipal("lambda.amazonaws.com"),
),
)

lambda_role.add_to_policy(
iam.PolicyStatement(actions=["sns:Publish"], resources=[snstopic])
)

)
lambda_role.add_managed_policy(
iam.ManagedPolicy.from_aws_managed_policy_name(
"service-role/AWSLambdaBasicExecutionRole"
)
)

Create Lambda

snstopic = "<SNS_TOPIC_ARN>"
lambda_.Function(
self,
"lambda-function",
runtime=lambda_.Runtime.PYTHON_3_9,
code=lambda_.Code.from_asset("resources/lambda"),
role=lambda_role,
handler="lambda_function.lambda_handler",
timeout=Duration.seconds(600),
environment={"snstopic": snstopic},
on_failure=destinations.SnsDestination(
sns.Topic.from_topic_arn(self, "LambdaSNSTopic", snstopic)
),
)

Create Layer

        model_layer = lambda_.LayerVersion(
self,
"model-layer",
code=lambda_.Code.from_asset("resources/model-layer"),
compatible_runtimes=[lambda_.Runtime.PYTHON_3_9],

)

--

--

No responses yet