Advanced Concepts of AWS Lambda

5 min readNov 14, 2022

Lambda is one of AWS’s popular services which is serverless, event-driven compute service that lets you run code for virtually any type of application or backend service without provisioning or managing servers.

AWS Lambda is seamlessly integrated with over 200 AWS services and SaaS (Software as a Service) applications. We can use these services to call AWS Lambda, and only pay for what we use.

AWS Lambda can be use for a wide range of work. It can be used for deploying, testing and monitoring an application that received event parameters. Lambda also has few advanced concepts like Execution Role, Lambda Functions deployment types and configurations and Functions URLs, which are explained below.

Execution Role

You can use identity-based policies in AWS Identity and Access Management (IAM) to grant users in your account access to Lambda.

A Lambda function’s execution role is an AWS Identity and Access Management (IAM) role that grants the function permission to access AWS services and resources.

To get the most out of a Lambda function you must give it access to other AWS services like Amazon CloudWatch, AWS X-Ray, AWS Glue, AWS S3, AWS EC2 and many more.

To view the Execution role of the function you have to open the functions page of the lambda console and select the name of the function. Once you have chosen the name, choose Configuration, and choose Permissions. On the Resource Summary we can see the allowed actions and resources to this function role.

Execution roles can also be created through the API that Lambda provides. To create an execution role with the AWS Command Line Interface (AWS CLI), use the create-role command. When using this command, you can specify the trust policy inline.

aws iam create-role - role-name lambda-ex - assume-role-policy-document '{"Version": "2012–10–17","Statement": [{ "Effect": "Allow", "Principal": {"Service": ""}, "Action": "sts:AssumeRole"}]}'

Deploying Lambda Functions

Lambda supports two types of deployment packages: container images and .zip file archives.

Container Image

A container image includes the base operating system, the runtime, Lambda extensions, your application code and its dependencies.

Lambda provides a set of open-source base images that you can use to build your container image. To create and test container images, you can use the AWS Serverless Application Model (AWS SAM) command line interface (CLI) or native container tools such as the Docker CLI.

The created image can be uploaded Amazon Elastic Container Registry (Amazon ECR), a managed AWS container image registry service.

To deploy the image to your function, you specify the Amazon ECR image URL using the Lambda console, the Lambda API, command line tools, or the AWS SDKs.

.zip File

A .zip file archive includes your application code and its dependencies. When you author functions using the Lambda console or a toolkit, Lambda automatically creates a .zip file archive of your code.

You can upload a .zip file as your deployment package using the Lambda console, AWS Command Line Interface (AWS CLI), or to an Amazon Simple Storage Service (Amazon S3) bucket.

To upload a .zip file in the Lambda console, open the functions page in the Lambda console and select a function. Code Source panel will open up from which choose Upload from and then .zip file. Then choose Upload and select the local .zip file.


If you deploy your function code using a .zip file archive, you can use Lambda layers as a distribution mechanism for libraries, custom runtimes, and other function dependencies.

Layers enable you to manage your in-development function code independently from the unchanging code and resources that it uses. You can configure your function to use layers that you create, layers that AWS provides, or layers from other AWS customers.

You do not use layers with container images. Instead, you package your preferred runtime, libraries, and other dependencies into the container image when you build the image.

Invoking Lambda Functions

Lambda functions can be directly invoke using the Lambda console, a function URL HTTP(S) endpoint, the Lambda API, an AWS SDK, the AWS Command Line Interface (AWS CLI), and AWS toolkits. You can also configure other AWS services to invoke your function.

When invoking a function you can choose to invoke it synchronously or asynchronously.

With synchronous invocation, you wait for the function to process the event and return a response.

With asynchronous invocation, Lambda queues the event for processing and returns a response immediately.

Other AWS services and resources invoke your function directly. For example, you can configure Amazon EventBridge (CloudWatch Events) to invoke your function on a timer, or you can configure Amazon Simple Storage Service (Amazon S3) to invoke your function when an object is created.

Lambda Function URLs

Lambda function URLs are unique URL endpoints that are automatically generated when creating a Lambda function. This can be configured using the Lambda console or API and it will assume the following format:


To create a Function URL using the Lambda console, go to your Function console, under the Configuration tab choose Function URL and Create Function URL.

Once you have created a function URL, you can now use it by invoking it from an HTTP client.

About the Author

Snowwin is a Software Developer at CodeStax.Ai with experience in Data Engineering and Full Stack Development. He is also an avid traveller who likes to explore new things.

About CodeStax.Ai

At CodeStax.Ai, we stand at the nexus of innovation and enterprise solutions, offering technology partnerships that empower businesses to drive efficiency, innovation, and growth, harnessing the transformative power of no-code platforms and advanced AI integrations.

But the real magic? It’s our tech tribe behind the scenes. If you’ve got a knack for innovation and a passion for redefining the norm, we’ve got the perfect tech playground for you. CodeStax.Ai offers more than a job — it’s a journey into the very heart of what’s next. Join us, and be part of the revolution that’s redefining the enterprise tech landscape.




Tech tales from our powerhouse Software Engineering team!