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

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_sns
TypeScript
@aws-solutions-constructs/aws-lambda-sns
Java
software.amazon.awsconstructs.services.lambdasns

Overview

Este AWS Solutions Construct implementa uma função do AWS Lambda conectada a um tópico do Amazon SNS.

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

import { LambdaToSns, LambdaToSnsProps } from "@aws-solutions-constructs/aws-lambda-sns"; new LambdaToSns(this, 'test-lambda-sns', { 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 LambdaToSns(scope: Construct, id: string, props: LambdaToSnsProps);

Parâmetros

Adereços 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.
ExistingTopicobj? sns.Topic Instância existente do objeto Tópico SNS, fornecendo tanto isso quantotopicPropscausará um erro.
TopicProps? sns.TopicProps Propriedades opcionais fornecidas pelo usuário para substituir as propriedades padrão do tópico SNS.
ExistingVPC? ec2.IVpc Uma VPC opcional existente na qual esse padrão deve ser implantado. Quando implantada em uma VPC, a função Lambda usará ENIs na VPC para acessar recursos de rede e um ponto final de interface será criado na VPC para Amazon SQS. Se uma VPC existente for fornecida, a propriedadedeployVpcA 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.
Implementar VPC? boolean Como criar uma nova VPC com base emvpcPropsno qual implantar esse padrão. Configuração comotrueimplantará a VPC mínima e mais privada para executar o padrão:
  • Uma sub-rede isolada em cada zona de disponibilidade usada pelo programa de CDK.

  • enableDnsHostnameseenableDnsSupportserão ambos definidos comotrue.

Se esta propriedade fortrue, entãoexistingVpcnão pode ser especificado. Padronizado como false.
VPCProps? ec2.VpcProps Propriedades opcionais fornecidas pelo usuário para substituir as propriedades padrão da nova VPC.enableDnsHostnames,enableDnsSupport,natGatewaysesubnetConfigurationsã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.
TopicarnEnvironmentVariableName? string Nome opcional para o conjunto de variáveis de ambiente ARN do tópico do SNS para a função do Lambda.
TopicNameEnvironmentVariableName? string Nome opcional para o conjunto de variáveis de ambiente de nome de tópico SNS para a função Lambda.

Propriedades de padrão

Nome Tipo Descrição
LambdaFunction lambda.Function Retorna uma instância da função Lambda criada pelo padrão.
snsTopic sns.Topic Retorna uma instância do tópico SNS criado pelo padrão.
VPC? ec2.IVpc Retorna uma instância da 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 da Construct sem qualquer substituição 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:

    • SNS_TOPIC_NAME (padrão)

    • SNS_TOPIC_ARN (padrão)

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

Tópico do Amazon SNS

  • Configurar permissões de acesso de menor privilégio para o tópico SNS.

  • Ative a criptografia do lado do servidor usando a chave KMS gerenciada pela AWS.

  • Aplique a criptografia de dados em trânsito

Architecture

AWS Lambda connected to Amazon Simple Notification Service with IAM role below Lambda.

GitHub

Para exibir o código desse padrão, crie/exiba problemas e solicitações pull e muito mais:
Circular icon with a graduation cap symbol representing education or learning.
@aws -solutions-constructs/aws-lambda-sns