aws-lambda-dynamodb - 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-lambda-dynamodb

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_lambda_dynamodb
TypeScript
@aws-solutions-constructs/aws-lambda-dynamodb
Java
software.amazon.awsconstructs.services.lambdadynamodb

Overview

Este AWS Solutions Construct implementa a função do AWS Lambda e a tabela do Amazon DynamoDB com permissões de menor privilégio.

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

import { LambdaToDynamoDBProps, LambdaToDynamoDB } from '@aws-solutions-constructs/aws-lambda-dynamodb'; const props: LambdaToDynamoDBProps = { 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' } }; new LambdaToDynamoDB(this, 'test-lambda-dynamodb-stack', props);

Initializer

new LambdaToDynamoDB(scope: Construct, id: string, props: LambdaToDynamoDBProps);

Parâmetros

Aderetos de criação de padrã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.
DynamotableProps? dynamodb.TableProps Os adereços fornecidos pelo usuário opcionais para substituir os adereços padrão da Tabela do DynamoDB
ExistingTableobj? dynamodb.Table Instância existente do objeto de tabela do DynamoDB, fornecendo tanto isso quantodynamoTablePropscausará um erro.
TablePermissions? string Permissões de tabela opcionais a serem concedidas à função do Lambda. Uma das seguintes opções podem ser especificadas:All,Read,ReadWrite, ouWrite.
TableEnvironmentVariableName? string Nome opcional para o conjunto de variáveis de ambiente de tabela do DynamoDB para a função Lambda.
ExistingVPC? ec2.IVpc Uma VPC opcional existente na qual esse padrão deve ser implantado. Quando implantada em uma VPC, a função do Lambda usará ENIs na VPC para acessar recursos de rede e um Gateway Endpoint será criado na VPC para Amazon DynamoDB. Se uma VPC existente for fornecida, odeployVpcA propriedade não pode sertrue. Isso usaec2.IVpcpara permitir que os clientes forneçam VPCs que existem fora da pilha usando oec2.Vpc.fromLookup()Método do.
VPCProps? ec2.VpcProps Propriedades opcionais fornecidas pelo usuário para substituir as propriedades padrão da nova VPC.enableDnsHostnames,enableDnsSupport,natGateways, esubnetConfigurationsão definidos pelo padrão, portanto, quaisquer valores para essas propriedades fornecidas aqui serão substituídos. SedeployVpcnão étrueentão essa propriedade será ignorada.
Implementar VPC? boolean Como criar uma nova VPC com base emvpcPropsno qual implantar esse padrão. Definir isso como true implantará a VPC mínima e mais privada para executar o padrão:
  • Uma sub-rede isolada em cada zona de disponibilidade usada pelo programa CDK

  • enableDnsHostnameseenableDnsSupportserão ambos definidos comotrue

Se esta propriedade fortrue, entãoexistingVpcnão pode ser especificado. Padronizado como false.

Propriedades de padrão

Nome Tipo Descrição
DynamoTable dynamodb.Table Retorna uma instância da tabela do DynamoDB criada pelo padrão.
lambdaFunction lambda.Function Retorna uma instância da função Lambda criada pelo padrão.
VPC? ec2.IVpc Retorna uma interface na VPC usada pelo padrão (se houver). Esta pode ser uma VPC criada pelo padrão ou pela VPC fornecida ao construtor de padrões.

Configurações padrão

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

Função do AWS Lambda

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

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

  • Ativar rastreamento do X-Ray.

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

    • DDB_TABLE_NAME (padrão)

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

Amazon DynamoDB

  • Defina o modo de faturamento da Tabela do DynamoDB como On-Demand (Pagamento por solicitação).

  • Habilite a criptografia do lado do servidor para a tabela do DynamoDB usando a chave KMS gerenciada pela AWS.

  • Cria uma chave de partição chamada 'id' para a tabela do DynamoDB.

  • Manter a tabela ao excluir a pilha do CloudFormation.

  • Permita backups contínuos e recuperação point-in-time.

Architecture

GitHub

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