How can I deploy the serverless application by using the AWS CDK Library?

51    Asked by Aalapprabhakaran in AWS , Asked on Mar 7, 2024

I am currently engaged in a particular task that is related to working on a project to deploy a serverless application by using the platform of AWS using the AWS CDK library. My task is to define the infrastructure as code using AWS CDK. How can I manage to use the AWS CDK library to define and even deploy this serverless application? 

Answered by Aryan Tandon

 In the context of AWS, you can easily define and even deploy a serverless app by using the platform of AWS SDK Library by using the simple steps which are given below:-

Install cdk
First, you would need to install the CDK by using the command “npm install -g aws-cdk”

Initialize CDK project

Now you would need to create a new directory for your particular CDK project and initialize it by using the following command

Cdk init app - - language=typescript
Define structure
Import * as cdk from ‘aws-cdk-lib’;
Import * as lambda from ‘aws-cdk-lib/aws-lambda’;
Import * as apigateway from ‘aws-cdk-lib/aws-apigateway’;
Import * as dynamodb from ‘aws-cdk-lib/aws-dynamodb’;
Export class MyServerlessAppStack extends cdk.Stack {
  Constructor(scope: cdk.Construct, id: string, props?: cdk.StackProps) {
    Super(scope, id, props);

    // Define Lambda function

    Const myLambdaFunction = new lambda.Function(this, ‘MyLambdaFunction’, {
      Runtime: lambda.Runtime.NODEJS_14_X,
      Handler: ‘index.handler’,
      Code: lambda.Code.fromAsset(‘lambda’)
    });
    // Define API Gateway
    Const api = new apigateway.RestApi(this, ‘MyApi’, {
      restApiName: ‘My API’,
      description: ‘My API Gateway’
    });
    Const integration = new apigateway.LambdaIntegration(myLambdaFunction);
    Const resource = api.root.addResource(‘myresource’);
    Resource.addMethod(‘GET’, integration);
    // Define DynamoDB table
    New dynamodb.Table(this, ‘MyTable’, {
      partitionKey: { name: ‘id’, type: dynamodb.AttributeType.STRING }
    });
  }
}
Const app = new cdk.App();
New MyServerlessAppStack(app, ‘MyServerlessAppStack’);

Deploy structure

You can use the CDK CLI for the purpose of synthesize the cloud formation template and deploy the infrastructure for your particular AWS account.



Your Answer

Interviews

Parent Categories