AWS: Lambda function & Boto3



What is AWS Lambda?

-- AWS Lambda is a serverless computing service that allows developers to run code without having to worry about server management. With AWS Lambda, developers can build and deploy applications quickly and easily, while only paying for the compute time that they use. We can say while exploring AWS Lambda functions it also provides an example of how to create a Python-based Lambda function also.


Functionalities of AWS Lambda

-- Lambda functions are small pieces of code that can be triggered by events such as changes in data or user activity. The functions are stored in the cloud and run on demand, which means that developers don't have to worry about provisioning or managing servers. AWS Lambda supports several programming languages, including Python, Java etc.

Case study : To get description  of an EC2 instance ( example Configuration )

-- Here's an example Python AWS Lambda function that retrieves the description of an EC2 instance using the Boto3 library:

import boto3

def lambda_handler(event, context):

    # Get the EC2 client

    ec2_client = boto3.client('ec2')

    # Get the instance ID from the Lambda event

    instance_id = event['instance_id']

    # Use the EC2 client to describe the instance

    response = ec2_client.describe_instances(InstanceIds=[instance_id])

    instance_description = response['Reservations'][0]['Instances'][0]['Description']

    # Return the instance description

    return instance_description


-- To use this function, we need to create an AWS Lambda function in your AWS account, and then add the Boto3 library to your function's deployment package. We can then test the function by invoking it with an event that includes the ID of the EC2 instance you want to describe.

Deployment  using CLI Command  Line interface 

-- To deploy this function as a Lambda function, we will first need to create a deployment package. This package includes the code for the function and any dependencies that it requires. In Python, you can use the `pip` package manager to install dependencies and create a deployment package. Here's an example:


$ mkdir SCS-function

$ cd SCS-function

$ pip install requests -t

$ zip -r ../SCS-function.zip


-- This will create a deployment package called `my-function.zip` that contains the `add_numbers` function and the `requests` library that it depends on. Once you have created the deployment package, you can upload it to AWS Lambda using the AWS Management Console or the AWS CLI. To test the function, you can use the Lambda console or the AWS CLI to invoke it with test data. Here's an example using the AWS CLI.

// demo ID

$ aws lambda invoke --function-name SCS-function {"ec2id":"i-1234567890"}


-- In conclusion, AWS Lambda is a powerful serverless computing service that allows developers to build and deploy applications quickly and easily. With support for several programming languages, including Python, developers can create Lambda functions to execute small pieces of code on demand. By using AWS Lambda, developers can focus on writing code without having to worry about server management or scaling.


Will discuss the case study on Remediations procedures with an example in next week's Blog.


Thank You

Comments

Popular posts from this blog

Data analysis with R

Machine learning in Python

AWS: Config Rule & Compliance Check