[{"data":1,"prerenderedAt":165},["ShallowReactive",2],{"content-svc-dynamodb-guides-knowledge-portal-introduction":3},{"markdown":4,"frontMatterAttributes":5,"bodyRaw":9,"menu":10,"menuType":160,"isCollapseableMenu":13,"nextDocItem":16,"previousDocItem":161,"contributorPaths":162,"contentName":163,"slug":164,"readingTime":53},"\u003Cp>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Phasellus nec neque massa. Integer rutrum luctus nunc, quis aliquet ipsum viverra at. Sed vitae nulla et odio accumsan venenatis id ut mi. Nam sit amet euismod metus. Praesent id ligula eu diam hendrerit pulvinar. Aliquam id nulla vel eros scelerisque faucibus et commodo dui. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Duis pulvinar magna nulla, a ultrices neque blandit ut. Quisque massa diam, sollicitudin sed enim non, suscipit consectetur erat. Suspendisse fermentum ligula in dignissim finibus. Mauris est velit, viverra gravida vehicula eu, venenatis ut dui. Phasellus convallis nunc quis magna sollicitudin, at feugiat massa venenatis. Ut gravida purus id turpis laoreet, at fringilla massa consequat. Ut libero orci, lobortis imperdiet augue eget, mattis aliquam nunc. Aliquam erat volutpat.\n\u003Cimg src=\"\u002Fassets\u002Fexternal\u002Fservice\u002Fdynamodb\u002Fguides\u002Fknowledge-portal\u002Fassets\u002Fdemo.png\"\u002F>\u003C\u002Fp>\n\u003Cpre>\u003Ccode class=\"language-js\">import {\n  aws_lambda as lambda,\n  aws_lambda_nodejs as nodejs_lambda,\n  aws_ec2 as ec2,\n  aws_elasticloadbalancingv2 as elbv2,\n  aws_elasticloadbalancingv2_targets as targets,\n  CfnOutput,\n  Stack,\n  StackProps\n} from &#39;aws-cdk-lib&#39;;\nimport { Construct } from &#39;constructs&#39;;\nimport * as path from &#39;path&#39;;\n\nexport class AlbLambdaCdkStack extends Stack {\n  constructor(scope: Construct, id: string, props?: StackProps) {\n    super(scope, id, props);\n\n    \u002F\u002F Creating vpc only with public subnets\n    const myVpc = new ec2.Vpc(this, &#39;MyVPC&#39;, {\n      subnetConfiguration: [\n        {\n          name: &#39;VpcSubnetGroup&#39;,\n          subnetType: ec2.SubnetType.PUBLIC,\n        }\n      ]\n    });\n\n    const securityGroup = new ec2.SecurityGroup(this, &#39;MyLoadBalancerSG&#39;, {\n      vpc: myVpc,\n    });\n\n    securityGroup.addIngressRule(\n      ec2.Peer.anyIpv4(),\n      ec2.Port.tcp(80),\n    );\n\n    const loadBalancer = new elbv2.ApplicationLoadBalancer(this, &#39;MyLoadBalancer&#39;, {\n      vpc: myVpc,\n      internetFacing: true,\n      securityGroup: securityGroup,\n    });\n\n    const lambdaFunction = new nodejs_lambda.NodejsFunction(this, &quot;LambdaFunction&quot;, {\n      runtime: lambda.Runtime.NODEJS_14_X,\n      entry: path.join(__dirname, `\u002F..\u002Flambda\u002Findex.ts`),\n      handler: &quot;handler&quot;,\n    });\n\n    const listener = loadBalancer.addListener(&#39;MyLoadBalancerListener&#39;, { port: 80 });\n    listener.addTargets(&#39;MyLoadBalancerTargets&#39;, {\n      targets: [new targets.LambdaTarget(lambdaFunction)],\n      healthCheck: {\n        enabled: true,\n      }\n    });\n\n    \u002F\u002F Output\n    new CfnOutput(this, &#39;ALBUrl&#39;, {\n      value: `http:\u002F\u002F${loadBalancer.loadBalancerDnsName}`\n    });\n  }\n}\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cimg src=\"\u002Fassets\u002Fexternal\u002Fservice\u002Fdynamodb\u002Fguides\u002Fknowledge-portal\u002Fassets\u002Fdemo.png\"\u002F>\n",{"title":6,"order":7,"youtubeVideoID":8},"Introduction",2,"SbL3a9YOW7s","Lorem ipsum dolor sit amet, consectetur adipiscing elit. Phasellus nec neque massa. Integer rutrum luctus nunc, quis aliquet ipsum viverra at. Sed vitae nulla et odio accumsan venenatis id ut mi. Nam sit amet euismod metus. Praesent id ligula eu diam hendrerit pulvinar. Aliquam id nulla vel eros scelerisque faucibus et commodo dui. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Duis pulvinar magna nulla, a ultrices neque blandit ut. Quisque massa diam, sollicitudin sed enim non, suscipit consectetur erat. Suspendisse fermentum ligula in dignissim finibus. Mauris est velit, viverra gravida vehicula eu, venenatis ut dui. Phasellus convallis nunc quis magna sollicitudin, at feugiat massa venenatis. Ut gravida purus id turpis laoreet, at fringilla massa consequat. Ut libero orci, lobortis imperdiet augue eget, mattis aliquam nunc. Aliquam erat volutpat.\n\u003Cimg src=\"\u002Fassets\u002Fexternal\u002Fservice\u002Fdynamodb\u002Fguides\u002Fknowledge-portal\u002Fassets\u002Fdemo.png\"\u002F>\n\n```js\nimport {\n  aws_lambda as lambda,\n  aws_lambda_nodejs as nodejs_lambda,\n  aws_ec2 as ec2,\n  aws_elasticloadbalancingv2 as elbv2,\n  aws_elasticloadbalancingv2_targets as targets,\n  CfnOutput,\n  Stack,\n  StackProps\n} from 'aws-cdk-lib';\nimport { Construct } from 'constructs';\nimport * as path from 'path';\n\nexport class AlbLambdaCdkStack extends Stack {\n  constructor(scope: Construct, id: string, props?: StackProps) {\n    super(scope, id, props);\n\n    \u002F\u002F Creating vpc only with public subnets\n    const myVpc = new ec2.Vpc(this, 'MyVPC', {\n      subnetConfiguration: [\n        {\n          name: 'VpcSubnetGroup',\n          subnetType: ec2.SubnetType.PUBLIC,\n        }\n      ]\n    });\n\n    const securityGroup = new ec2.SecurityGroup(this, 'MyLoadBalancerSG', {\n      vpc: myVpc,\n    });\n\n    securityGroup.addIngressRule(\n      ec2.Peer.anyIpv4(),\n      ec2.Port.tcp(80),\n    );\n\n    const loadBalancer = new elbv2.ApplicationLoadBalancer(this, 'MyLoadBalancer', {\n      vpc: myVpc,\n      internetFacing: true,\n      securityGroup: securityGroup,\n    });\n\n    const lambdaFunction = new nodejs_lambda.NodejsFunction(this, \"LambdaFunction\", {\n      runtime: lambda.Runtime.NODEJS_14_X,\n      entry: path.join(__dirname, `\u002F..\u002Flambda\u002Findex.ts`),\n      handler: \"handler\",\n    });\n\n    const listener = loadBalancer.addListener('MyLoadBalancerListener', { port: 80 });\n    listener.addTargets('MyLoadBalancerTargets', {\n      targets: [new targets.LambdaTarget(lambdaFunction)],\n      healthCheck: {\n        enabled: true,\n      }\n    });\n\n    \u002F\u002F Output\n    new CfnOutput(this, 'ALBUrl', {\n      value: `http:\u002F\u002F${loadBalancer.loadBalancerDnsName}`\n    });\n  }\n}\n\n```\n\n\u003Cimg src=\"\u002Fassets\u002Fexternal\u002Fservice\u002Fdynamodb\u002Fguides\u002Fknowledge-portal\u002Fassets\u002Fdemo.png\"\u002F>\n",[11,43,57,71,84,97,111,124,136,148],{"title":12,"collapsible":13,"isCollapsed":14,"content":15},"Learn",false,true,[16],{"title":17,"order":18,"callout":19,"resources":24,"time":39,"path":40,"id":41,"link":42},"Getting started with Amazon DynamoDB",1,{"title":20,"description":21,"image":22,"link":23},"DynamoDB Developer resources","Watch short bite size videos created by Amazon DynamoDB experts on specific topics like backup and restore, indexes, pre-scaling your on-demand tables and many more.. ","\u002Fassets\u002Fexternal\u002Fservice\u002Fdynamodb\u002Fguides\u002Fknowledge-portal\u002Fassets\u002Fnugets.png","https:\u002F\u002Fwww.youtube.com\u002Fplaylist?list=PLhr1KZpdzukemNOO71Hca0GpjG0QmXwEd",[25,29,32,35],{"link":26,"text":27,"type":28},"https:\u002F\u002Fdocs.aws.amazon.com\u002Famazondynamodb\u002Flatest\u002Fdeveloperguide\u002FIntroduction.html","DynamoDB developer guides","document",{"link":30,"type":28,"text":31},"https:\u002F\u002Fdocs.aws.amazon.com\u002Famazondynamodb\u002Flatest\u002FAPIReference\u002FAPI_Operations_Amazon_DynamoDB.html","DynamoDB API reference",{"link":33,"type":28,"text":34},"https:\u002F\u002Faws.amazon.com\u002Fprescriptive-guidance\u002F?apg-all-cards.sort-by=item.additionalFields.contentTitle&apg-all-cards.sort-order=asc&awsf.apg-new-filter=*all&awsf.apg-content-type-filter=*all&awsf.apg-code-filter=*all&awsf.apg-category-filter=categories%23serverless&awsf.apg-rtype-filter=*all&awsf.apg-isv-filter=*all&awsf.apg-product-filter=*all&awsf.apg-env-filter=*all&apg-all-cards.q=DynamoDB&apg-all-cards.q_operator=AND","DynamoDB prescriptive guides",{"link":36,"type":37,"text":38},"https:\u002F\u002Fexplore.skillbuilder.aws\u002Flearn\u002Fexternal-ecommerce;view=signin;redirectURL=?ctldoc-catalog-0=se-DynamoDb","Training","DynamoDB training","1 min","getting-started","getting-started.md","\u002Fcontent\u002Fservice\u002Fdynamodb\u002Fguides\u002Fknowledge-portal\u002Fgetting-started",{"title":44,"collapsible":13,"isCollapsed":14,"content":45},"How do I?",[46],{"title":47,"order":7,"resources":48,"time":53,"path":54,"id":55,"link":56},"How do I create a table with CDK?",[49,50,51,52],{"link":26,"text":27,"type":28},{"link":30,"type":28,"text":31},{"link":33,"type":28,"text":34},{"link":36,"type":37,"text":38},"2 min","howdoi_1","howdoi_1.md","\u002Fcontent\u002Fservice\u002Fdynamodb\u002Fguides\u002Fknowledge-portal\u002Fhowdoi_1",{"title":-1,"collapsible":13,"isCollapsed":14,"content":58},[59],{"title":60,"order":61,"resources":62,"time":67,"path":68,"id":69,"link":70},"How do I handle versioning of items in DynamoDB?",3,[63,64,65,66],{"link":26,"text":27,"type":28},{"link":30,"type":28,"text":31},{"link":33,"type":28,"text":34},{"link":36,"type":37,"text":38},"3 min","howdoi_2","howdoi_2.md","\u002Fcontent\u002Fservice\u002Fdynamodb\u002Fguides\u002Fknowledge-portal\u002Fhowdoi_2",{"title":-1,"collapsible":13,"isCollapsed":14,"content":72},[73],{"title":74,"order":75,"resources":76,"time":53,"path":81,"id":82,"link":83},"How do I implement full-text search in DynamoDB?",4,[77,78,79,80],{"link":26,"text":27,"type":28},{"link":30,"type":28,"text":31},{"link":33,"type":28,"text":34},{"link":36,"type":37,"text":38},"howdoi_3","howdoi_3.md","\u002Fcontent\u002Fservice\u002Fdynamodb\u002Fguides\u002Fknowledge-portal\u002Fhowdoi_3",{"title":-1,"collapsible":13,"isCollapsed":14,"content":85},[86],{"title":87,"order":88,"resources":89,"time":53,"path":94,"id":95,"link":96},"How do I create a table with CloudFormation?",5,[90,91,92,93],{"link":26,"text":27,"type":28},{"link":30,"type":28,"text":31},{"link":33,"type":28,"text":34},{"link":36,"type":37,"text":38},"howdoi_4","howdoi_4.md","\u002Fcontent\u002Fservice\u002Fdynamodb\u002Fguides\u002Fknowledge-portal\u002Fhowdoi_4",{"title":98,"collapsible":13,"isCollapsed":14,"content":99},"Migrate to Amazon DynamoDB",[100],{"title":101,"order":102,"resources":103,"time":67,"path":108,"id":109,"link":110},"Why migrate to DynamoDB",6,[104,105,106,107],{"link":26,"text":27,"type":28},{"link":30,"type":28,"text":31},{"link":33,"type":28,"text":34},{"link":36,"type":37,"text":38},"migrations_1","migrations_1.md","\u002Fcontent\u002Fservice\u002Fdynamodb\u002Fguides\u002Fknowledge-portal\u002Fmigrations_1",{"title":-1,"collapsible":13,"isCollapsed":14,"content":112},[113],{"title":114,"order":115,"resources":116,"time":67,"path":121,"id":122,"link":123},"Migration planning",7,[117,118,119,120],{"link":26,"text":27,"type":28},{"link":30,"type":28,"text":31},{"link":33,"type":28,"text":34},{"link":36,"type":37,"text":38},"migrations_2","migrations_2.md","\u002Fcontent\u002Fservice\u002Fdynamodb\u002Fguides\u002Fknowledge-portal\u002Fmigrations_2",{"title":-1,"collapsible":13,"isCollapsed":14,"content":125},[126],{"title":127,"order":18,"resources":128,"time":53,"path":133,"id":134,"link":135},"DynamoDB key concepts",[129,130,131,132],{"link":26,"text":27,"type":28},{"link":30,"type":28,"text":31},{"link":33,"type":28,"text":34},{"link":36,"type":37,"text":38},"migrations_3","migrations_3.md","\u002Fcontent\u002Fservice\u002Fdynamodb\u002Fguides\u002Fknowledge-portal\u002Fmigrations_3",{"title":-1,"collapsible":13,"isCollapsed":14,"content":137},[138],{"title":139,"order":18,"resources":140,"time":53,"path":145,"id":146,"link":147},"Difference between relational and NoSQL data model",[141,142,143,144],{"link":26,"text":27,"type":28},{"link":30,"type":28,"text":31},{"link":33,"type":28,"text":34},{"link":36,"type":37,"text":38},"migrations_4","migrations_4.md","\u002Fcontent\u002Fservice\u002Fdynamodb\u002Fguides\u002Fknowledge-portal\u002Fmigrations_4",{"title":-1,"collapsible":13,"isCollapsed":14,"content":149},[150],{"title":151,"order":18,"resources":152,"time":67,"path":157,"id":158,"link":159},"Migration strategies",[153,154,155,156],{"link":26,"text":27,"type":28},{"link":30,"type":28,"text":31},{"link":33,"type":28,"text":34},{"link":36,"type":37,"text":38},"migrations_5","migrations_5.md","\u002Fcontent\u002Fservice\u002Fdynamodb\u002Fguides\u002Fknowledge-portal\u002Fmigrations_5","LIST",null,[],"DynamoDB knowledge portal","\u002Fcontent\u002Fservice\u002Fdynamodb\u002Fguides\u002Fknowledge-portal\u002Fintroduction",1792665265588]