Tuesday, April 23, 2024
HomeSoftware EngineeringThe way to create a Lambda in CloudFormation

The way to create a Lambda in CloudFormation


You possibly can create a Lambda in CloudFormation as follows:

Possibility 1 – Inline code

Sources:
  MyLambdaFunction:
    Kind: AWS::Lambda::Operate
    Properties:
      FunctionName: MyLambdaFunction
      Runtime: python3.8
      Handler: index.lambda_handler
      Code:
        ZipFile: |
          import json

          def lambda_handler(occasion, context):
              # Your Lambda perform code right here
              return {
                  'statusCode': 200,
                  'physique': json.dumps('Whats up from Lambda!')
              }
      Position: !GetAtt MyLambdaExecutionRole.Arn

On this instance, as an alternative of specifying the S3Bucket and S3Key properties below the Code part, you employ the ZipFile property to supply the precise code as a multiline string. The code is written in Python and features a easy Lambda handler perform.

Bear in mind that there’s a restrict to the dimensions of the CloudFormation template, so in case your Lambda code is giant or complicated, it’s usually advisable to retailer it in an exterior location like an S3 bucket and reference it utilizing the S3Bucket and S3Key properties.

Possibility 2 – Embody a Zip file of code

Sources:
  MyLambdaFunction:
    Kind: AWS::Lambda::Operate
    Properties:
      FunctionName: MyLambdaFunction
      Runtime: python3.8
      Handler: index.lambda_handler
      Code:
        S3Bucket: my-lambda-bucket
        S3Key: lambda-code.zip
      Position: !GetAtt MyLambdaExecutionRole.Arn

Let’s break down the instance:

  1. Sources: This part defines the sources you need to create. On this case, you’re making a Lambda perform named MyLambdaFunction.

  2. Kind: AWS::Lambda::Operate: This specifies that you simply need to create a Lambda perform useful resource.

  3. Properties: Right here, you outline the properties of the Lambda perform.

  • FunctionName: This units the identify of the Lambda perform.
  • Runtime: Specify the runtime setting in your perform. On this instance, we’re utilizing python3.8, however you’ll be able to select a distinct runtime.
  • Handler: Set the identify of the file and the perform inside the file that needs to be executed when the Lambda perform is invoked.
  • Code: Specify the placement of the code in your Lambda perform. On this instance, we’re utilizing code saved in an S3 bucket.
  • Position: Present the ARN (Amazon Useful resource Identify) of an IAM position that grants crucial permissions to the Lambda perform.
    !GetAtt MyLambdaExecutionRole.Arn: This retrieves the ARN of an present IAM position named MyLambdaExecutionRole. You would wish to outline this IAM position individually in your CloudFormation template.

Make sure that to regulate the values in accordance with your necessities. After you have outlined this useful resource in your CloudFormation template, you’ll be able to deploy the template to create the Lambda perform utilizing AWS CloudFormation.

RELATED ARTICLES

LEAVE A REPLY

Please enter your comment!
Please enter your name here

Most Popular

Recent Comments