Skip to main content

CDK Constructs for AWS Cloudfront to AWS API Gateway to AWS Lambda integration.

Project description

aws-cloudfront-apigateway-lambda module

---

Stability: Experimental

This is a developer preview (public beta) module.

All classes are under active development and subject to non-backward compatible changes or removal in any future version. These are not subject to the Semantic Versioning model. This means that while you may use them, you may need to update your source code when upgrading to a newer version of this package.


API Reference: http://docs.awssolutionsbuilder.com/aws-solutions-konstruk/latest/api/aws-cloudfront-apigateway-lambda/
Language Package
Python Logo{: style="height:16px;width:16px"} Python aws_solutions_konstruk.aws_cloudfront_apigateway_lambda
Typescript Logo{: style="height:16px;width:16px"} Typescript @aws-solutions-konstruk/aws-cloudfront-apigateway-lambda

This AWS Solutions Konstruk implements an AWS Cloudfront fronting an Amazon API Gateway Lambda backed REST API.

Here is a minimal deployable pattern definition:

import * as defaults from '@aws-solutions-konstruk/core';
import { CloudFrontToApiGatewayToLambda } from '@aws-solutions-konstruk/aws-cloudfront-apigateway-lambda';

const stack = new Stack();

const lambdaProps: lambda.FunctionProps = {
    code: lambda.Code.asset(`${__dirname}/lambda`),
    runtime: lambda.Runtime.NODEJS_12_X,
    handler: 'index.handler'
};

new CloudFrontToApiGatewayToLambda(stack, 'test-cloudfront-apigateway-lambda', {
    lambdaFunctionProps: lambdaProps,
    deployLambda: true
});

Initializer

new CloudFrontToApiGatewayToLambda(scope: Construct, id: string, props: CloudFrontToApiGatewayToLambdaProps);

Parameters

Pattern Construct Props

Name Type Description
deployLambda boolean Whether to create a new Lambda function or use an existing Lambda function
existingLambdaObj? lambda.Function Existing instance of Lambda Function object
lambdaFunctionProps? lambda.FunctionProps Optional user provided props to override the default props for Lambda function
apiGatewayProps? api.LambdaRestApiProps Optional user provided props to override the default props for API Gateway
cloudFrontDistributionProps? cloudfront.CloudFrontWebDistributionProps Optional user provided props to override the default props for Cloudfront Distribution
insertHttpSecurityHeaders? boolean Optional user provided props to turn on/off the automatic injection of best practice HTTP security headers in all resonses from cloudfront

Pattern Properties

Name Type Description
cloudFrontWebDistribution() cloudfront.CloudFrontWebDistribution Returns an instance of cloudfront.CloudFrontWebDistribution created by the construct
lambdaFunction() lambda.Function Returns an instance of the Lambda function created by the pattern.
restApi() api.RestApi Returns an instance of the API Gateway REST API created by the pattern.

Architecture

Architecture Diagram


© Copyright 2020 Amazon.com, Inc. or its affiliates. All Rights Reserved.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

Built Distribution

File details

Details for the file aws-solutions-konstruk.aws-cloudfront-apigateway-lambda-0.8.1.tar.gz.

File metadata

File hashes

Hashes for aws-solutions-konstruk.aws-cloudfront-apigateway-lambda-0.8.1.tar.gz
Algorithm Hash digest
SHA256 8baec5e16b30e6059498fbcb89f90201e4565caa6f3912b93599edc211ecd9e0
MD5 662062251bff44fd0b51449b4681eb6b
BLAKE2b-256 3fb9ba29f32d648cb0f9c7ca9de8c08c58d6c72e0a7fb57bcbcbde0f2ac61446

See more details on using hashes here.

File details

Details for the file aws_solutions_konstruk.aws_cloudfront_apigateway_lambda-0.8.1-py3-none-any.whl.

File metadata

File hashes

Hashes for aws_solutions_konstruk.aws_cloudfront_apigateway_lambda-0.8.1-py3-none-any.whl
Algorithm Hash digest
SHA256 0e6057b36c42b9e8640721197dcd0564b47aafbbe92ae8e7d2dc2b5c58966574
MD5 3a5046074ef3db5b032686b0082301f7
BLAKE2b-256 1eaa8e7c8c869a16072567573d2232c642ff229b65c4db3632e1c08d38e87106

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page