[{"data":1,"prerenderedAt":257},["ShallowReactive",2],{"contributor-eric-johnson":3,"portfolio-eric-johnson":15},{"id":4,"bio":5,"extension":6,"github":7,"image":8,"linkedin":9,"meta":10,"name":11,"stem":12,"twitter":13,"__hash__":14},"contributors\u002Fcontributors\u002Feric-johnson.json","Eric Johnson is a Principal Developer Advocate for Serverless Applications at Amazon Web Services and is based in Northern Colorado. Eric is a fanatic about serverless and enjoys helping developers understand how serverless technologies introduces a major paradigm shift in how they approach building and running applications at massive scale with minimal administration overhead. Prior to this, Eric has worked as a developer, solutions architect and AWS Evangelist for an AWS partner company.","json",null,"\u002Fassets\u002Fimages\u002Fcontributors\u002Feric-johnson.jpg","singledigit",{},"Eric Johnson","contributors\u002Feric-johnson","edjgeek","ZFRD7cdYaptJE2Cxv1kOW4pufERZajlrZGeUSmpMCC8",{"code":16,"resources":148,"total":256},[17,100,112,132],{"collection":18,"label":19,"items":20},"patterns","Patterns",[21,25,29,33,37,41,45,49,53,57,61,65,69,73,77,81,85,88,92,96],{"slug":22,"title":23,"url":24},"apigw-data-validation","Amazon API Gateway data validation","\u002Fpatterns\u002Fapigw-data-validation",{"slug":26,"title":27,"url":28},"apigateway-http-eventbridge","Amazon API Gateway HTTP API to Amazon EventBridge","\u002Fpatterns\u002Fapigateway-http-eventbridge",{"slug":30,"title":31,"url":32},"apigateway-rest-rest","Amazon API Gateway REST to Amazon API Gateway REST","\u002Fpatterns\u002Fapigateway-rest-rest",{"slug":34,"title":35,"url":36},"apigw-throttle-sam","Amazon API Gateway throttling configuration usign AWS SAM","\u002Fpatterns\u002Fapigw-throttle-sam",{"slug":38,"title":39,"url":40},"apigw-cloudwatch","Amazon API Gateway to Amazon CloudWatch","\u002Fpatterns\u002Fapigw-cloudwatch",{"slug":42,"title":43,"url":44},"apigw-ddb-openapi-crud","Amazon API Gateway to Amazon DynamoDB CRUD aplication using OpenAPI","\u002Fpatterns\u002Fapigw-ddb-openapi-crud",{"slug":46,"title":47,"url":48},"apigw-usage-plans","Amazon API Gateway Usage Plan","\u002Fpatterns\u002Fapigw-usage-plans",{"slug":50,"title":51,"url":52},"apigw-custom-resource-policy","Amazon API Gateway with a custom resource policy limiting responses to a date range","\u002Fpatterns\u002Fapigw-custom-resource-policy",{"slug":54,"title":55,"url":56},"apigw-caching-sam","Amazon API Gateway with caching enable","\u002Fpatterns\u002Fapigw-caching-sam",{"slug":58,"title":59,"url":60},"apigw-sfn-crud","Amazon API Gateway, AWS Step Functions, to Amazon DynamoDB CRUD API","\u002Fpatterns\u002Fapigw-sfn-crud",{"slug":62,"title":63,"url":64},"cognito-httpapi","Amazon Cognito to HTTP APIs","\u002Fpatterns\u002Fcognito-httpapi",{"slug":66,"title":67,"url":68},"kinesis-lambda","Amazon Kinesis to AWS Lambda","\u002Fpatterns\u002Fkinesis-lambda",{"slug":70,"title":71,"url":72},"kinesis-lambda-efo","Amazon Kinesis to AWS Lambda with enhanced fan-out","\u002Fpatterns\u002Fkinesis-lambda-efo",{"slug":74,"title":75,"url":76},"apigw-route53-failovert","Amazon Route53 to Amazon API Gateway failover","\u002Fpatterns\u002Fapigw-route53-failovert",{"slug":78,"title":79,"url":80},"appsync-dynamodb","AWS AppSync to Amazon DynamoDB","\u002Fpatterns\u002Fappsync-dynamodb",{"slug":82,"title":83,"url":84},"appsync-dynamodb-singletable","AWS AppSync to Amazon DynamoDB - SingleTable","\u002Fpatterns\u002Fappsync-dynamodb-singletable",{"slug":86,"title":83,"url":87},"appsync-dynamodb-singletable-cdk","\u002Fpatterns\u002Fappsync-dynamodb-singletable-cdk",{"slug":89,"title":90,"url":91},"stepfunctions-fargate-lambda","AWS Step Functions to AWS Lambda or Amazon ECS","\u002Fpatterns\u002Fstepfunctions-fargate-lambda",{"slug":93,"title":94,"url":95},"waf-apigw-rest","AWS WAF attached to Amazon API Gateway REST API","\u002Fpatterns\u002Fwaf-apigw-rest",{"slug":97,"title":98,"url":99},"lambda-durable-testing-typescript-sam","Testing AWS Lambda durable functions in TypeScript","\u002Fpatterns\u002Flambda-durable-testing-typescript-sam",{"collection":101,"label":102,"items":103},"workflows","Workflows",[104,108],{"slug":105,"title":106,"url":107},"dynamodb-migrations","Amazon DynamoDB migration","\u002Fworkflows\u002Fdynamodb-migrations",{"slug":109,"title":110,"url":111},"dynamodb-transfer","DynamoDB Transfer workflow","\u002Fworkflows\u002Fdynamodb-transfer",{"collection":113,"label":114,"items":115},"snippets","Snippets",[116,120,124,128],{"slug":117,"title":118,"url":119},"aws-cli-find-function-runtimes","Find all Lambda functions with a specific runtime","\u002Fsnippets\u002Faws-cli-find-function-runtimes",{"slug":121,"title":122,"url":123},"aws-cli-update-sam-cloud9","Update AWS SAM on AWS Cloud9","\u002Fsnippets\u002Faws-cli-update-sam-cloud9",{"slug":125,"title":126,"url":127},"apigateway-dynamodb-secure","VTL - Authorized user","\u002Fsnippets\u002Fapigateway-dynamodb-secure",{"slug":129,"title":130,"url":131},"apigateway-dynamodb-typeahead","VTL - Typeahead","\u002Fsnippets\u002Fapigateway-dynamodb-typeahead",{"collection":133,"label":134,"items":135},"repos","Repos",[136,140,144],{"slug":137,"title":138,"url":139},"aws-sam-support-aws-cdk","AWS SAM support for AWS CDK","\u002Frepos\u002Faws-sam-support-aws-cdk",{"slug":141,"title":142,"url":143},"sessions-with-aws-sam","Sessions with SAM","\u002Frepos\u002Fsessions-with-aws-sam",{"slug":145,"title":146,"url":147},"aws-step-functions-twitch-series","Using AWS Step Functions","\u002Frepos\u002Faws-step-functions-twitch-series",[149,189,205,221,236],{"collection":150,"label":151,"items":152},"explore","",[153,157,161,165,169,173,177,181,185],{"slug":154,"title":155,"url":156},"api311-22","API311: Building Next-Gen Applications with Event-Driven Architectures","\u002Fexplore\u002Fapi311-22",{"slug":158,"title":159,"url":160},"lambda-durable-functions","AWS Lambda durable functions","\u002Fexplore\u002Flambda-durable-functions",{"slug":162,"title":163,"url":164},"boston-awsug","Boston AWS User Group - Serverless","\u002Fexplore\u002Fboston-awsug",{"slug":166,"title":167,"url":168},"serverless-iac","Building serverless applications with infrastructure as code (IaC)","\u002Fexplore\u002Fserverless-iac",{"slug":170,"title":171,"url":172},"devdaysfo","Resources for Dev Day San Francisco - April 2025","\u002Fexplore\u002Fdevdaysfo",{"slug":174,"title":175,"url":176},"hero-update","Resources for re:Invent heroes update","\u002Fexplore\u002Fhero-update",{"slug":178,"title":179,"url":180},"mad202","Resources for re:Invent MAD202","\u002Fexplore\u002Fmad202",{"slug":182,"title":183,"url":184},"svs204","SVS204: Building Serverless Applications with Infrastructure as Code","\u002Fexplore\u002Fsvs204",{"slug":186,"title":187,"url":188},"svs401","SVS401: Amazon API Gateway HTTP APIs: Beyond the proxy","\u002Fexplore\u002Fsvs401",{"collection":190,"label":191,"items":192},"reinvent2025","re:Invent 2025",[193,197,201],{"slug":194,"title":195,"url":196},"api313","API313: Building Production-Grade Workflow Patterns with AWS Step Functions","\u002Freinvent2025\u002Fapi313",{"slug":198,"title":199,"url":200},"cns307","CNS307: Building Event-Driven Architectures Using Amazon ECS with AWS Fargate","\u002Freinvent2025\u002Fcns307",{"slug":202,"title":203,"url":204},"cns337","CNS337: Thinking Serverless","\u002Freinvent2025\u002Fcns337",{"collection":206,"label":207,"items":208},"reinvent2024","re:Invent 2024",[209,213,217],{"slug":210,"title":211,"url":212},"api307","API307: Event-driven Architectures at Scale: Manage Millions of Events","\u002Freinvent2024\u002Fapi307",{"slug":214,"title":215,"url":216},"api402","API402: Building Advanced Workflows with AWS Step Functions","\u002Freinvent2024\u002Fapi402",{"slug":218,"title":219,"url":220},"svs339","SVS339: Building Event-driven Architectures using Amazon ECS with AWS Fargate","\u002Freinvent2024\u002Fsvs339",{"collection":150,"label":222,"items":223},"re:Invent 2023",[224,228,232],{"slug":225,"title":226,"url":227},"reinvent2023-api302","Resources for API302","\u002Fexplore\u002Freinvent2023-api302",{"slug":229,"title":230,"url":231},"reinvent2023-svs316","Resources for SVS316","\u002Fexplore\u002Freinvent2023-svs316",{"slug":233,"title":234,"url":235},"reinvent2023-svs323","Resources for SVS323","\u002Fexplore\u002Freinvent2023-svs323",{"collection":237,"label":238,"items":239},"reinvent2022","re:Invent 2022",[240,244,248,252],{"slug":241,"title":242,"url":243},"api311","API311: Building Next-Gen Applications With Event-Driven Architectures","\u002Freinvent2022\u002Fapi311",{"slug":245,"title":246,"url":247},"svs002","SVS002: Accelerating Serverless Development With AWS SAM","\u002Freinvent2022\u002Fsvs002",{"slug":249,"title":250,"url":251},"svs303","SVS303: Building Real-World Serverless Applications With AWS SAM","\u002Freinvent2022\u002Fsvs303",{"slug":253,"title":254,"url":255},"svs314","SVS314: AWS Lambda Performance Tuning: Best Practices and Guidance","\u002Freinvent2022\u002Fsvs314",51,1792578889689]