Setting up an AWS Lambda function with an IAM role using AWS CloudFormation

To set up an AWS Lambda function using AWS CloudFormation, with an IAM role, you can use the AWS::IAM::Role and AWS::Lambda::Function resources. Here is an example of how you might use these resources in a CloudFormation template:

Resources: MyIAMRole: Type: AWS::IAM::Role Properties: AssumeRolePolicyDocument: Version: 2012-10-17 Statement:

  • Effect: Allow Principal: Service:
    • lambda.amazonaws.com Action:
      • sts:AssumeRole Policies:
      • PolicyName: MyPolicy PolicyDocument: Version: 2012-10-17 Statement:
      • Effect: Allow Action:
      • s3:ListBucket Resource: arn:aws:s3:::my-bucket MyFunction: Type: AWS::Lambda::Function Properties: Code: ZipFile: | def handler(event, context): return "Hello, World!" Handler: index.handler Role: !GetAtt MyIAMRole.Arn Runtime: python3.8 Timeout: 30

This will create an IAM role (MyIAMRole) with a policy that allows the Lambda function to list the objects in the my-bucket S3 bucket. It will also create a Lambda function (MyFunction) that runs a Python 3.8 runtime and has a 30-second timeout. The function code is specified using a `Zip

The post Setting up an AWS Lambda function with an IAM role using AWS CloudFormation appeared first on Abhay Singh.