aws-apigateway-lambda - Constructos da AWS

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

aws-apigateway-lambda

Todas as classes estão em desenvolvimento ativo e estão sujeitas a alterações ou remoção não compatíveis com versões anteriores em qualquer versão futura. Estes não estão sujeitos àVersionamento semânticoModelo. Isso significa que, embora você possa usá-los, você pode precisar atualizar seu código-fonte ao atualizar para uma versão mais recente deste pacote.

Observações: Para garantir a funcionalidade adequada, os pacotes AWS Solutions Constructs e os pacotes CDK da AWS em seu projeto devem ser da mesma versão.

Linguagem Pacote
Python
aws_solutions_constructs.aws_apigateway_lambda
TypeScript
@aws-solutions-constructs/aws-apigateway-lambda
Java
software.amazon.awsconstructs.services.apigatewaylambda

Overview

Este AWS Solutions Construct implementa uma API REST do Amazon API Gateway conectada a uma função do AWS Lambda.

Aqui está uma definição de padrão implantável mínima no TypeScript:

import { ApiGatewayToLambda } from '@aws-solutions-constructs/aws-apigateway-lambda'; new ApiGatewayToLambda(this, 'ApiGatewayToLambdaPattern', { lambdaFunctionProps: { runtime: lambda.Runtime.NODEJS_14_X, // This assumes a handler function in lib/lambda/index.js code: lambda.Code.fromAsset(`${__dirname}/lambda`), handler: 'index.handler' } });

Initializer

new ApiGatewayToLambda(scope: Construct, id: string, props: ApiGatewayToLambdaProps);

Parâmetros

Adereços de construção

Nome Tipo Descrição
ExistingAmbdaobj? lambda.Function Instância existente do objeto Lambda Function, fornecendo tanto isso elambdaFunctionPropscausará um erro.
LambdaFunctionProps? lambda.FunctionProps Propriedades opcionais fornecidas pelo usuário para substituir as propriedades padrão da função Lambda. Ignorado se umexistingLambdaObjé fornecido.
ApigatewayProps? api.LambdaRestApiProps Props opcionais fornecidos pelo usuário para substituir os adereços padrão para a API.
LoggroupProps? logs.LogGroupProps Aderos opcionais fornecidos pelo usuário para substituir os adereços padrão para o grupo de logs do CloudWatch Logs.

Propriedades de padrão

Nome Tipo Descrição
ApigatewayCloudWatchRole iam.Role Retorna uma instância da função do IAM criada pelo padrão que permite o log de acesso da API REST do API Gateway para o CloudWatch.
ApigatewayLogGroup logs.LogGroup Retorna uma instância do grupo de logs criado pelo padrão para o qual os logs de acesso à API REST do API Gateway são enviados.
LambdaFunction lambda.Function Retorna uma instância da função Lambda criada pelo padrão.
ApiGateway api.LambdaRestApi Retorna uma instância da API REST Gateway criada pelo padrão.

Configurações padrão

A implementação imediata desse padrão sem substituições definirá os seguintes padrões:

Amazon API Gateway

  • Implantar um endpoint de API otimizado para bordas

  • Habilitar o log do CloudWatch para o

  • Configurar a função IAM de acesso de menor privilégio para API Gateway

  • Defina o AuthorizationType padrão para todos os métodos de API como IAM

  • Ativar rastreamento do X-Ray

  • Definição de variáveis de ambiente:

    • AWS_NODEJS_CONNECTION_REUSE_ENABLED(para funções Node 10.x e superiores)

Função do AWS Lambda

  • Configurar a função do IAM de acesso de privilégio limitado para a função Lambda

  • Ativar a reutilização de conexões com a função Keep-Alive para NodeJS Lambda

  • Ativar rastreamento do X-Ray

Architecture

GitHub

Para exibir o código desse padrão, crie/exiba problemas e solicitações pull e muito mais:
@aws -solutions-constructs/aws-apigateway-lambda