aws-lambda-sns - Construcciones de Soluciones de AWS

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

aws-lambda-sns

Todas las clases están en desarrollo activo y están sujetas a cambios o eliminación no compatibles con versiones anteriores en cualquier versión futura. Estos no están sujetos a laVersiones semánticasEl modelo. Esto significa que, aunque puede usarlos, es posible que necesite actualizar el código fuente cuando actualice a una versión más reciente de este paquete.

Nota: Para garantizar una funcionalidad adecuada, los paquetes de AWS Solutions Constructs y los paquetes CDK de AWS del proyecto deben tener la misma versión.

Idioma Paquete
Python
aws_solutions_constructs.aws_lambda_sns
Mecanografía
@aws-solutions-constructs/aws-lambda-sns
Java
software.amazon.awsconstructs.services.lambdasns

Overview

Este constructo de soluciones de AWS implementa una función de AWS Lambda conectada a un tema de Amazon SNS.

Aquí hay una definición mínima de patrón implementable en 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

Patrón de construcción

Nombre Tipo Descripción
¿ExistenteLambdaobj? lambda.Function Instancia existente del objeto Lambda Function, proporcionando tanto esto comolambdaFunctionPropsprovocará un error.
¿LambdaFunctionProps? lambda.FunctionProps Propiedades opcionales proporcionadas por el usuario para anular las propiedades predeterminadas de la función Lambda. Si se pasa por alto unexistingLambdaObjse encuentra.
¿ExistentetoPicobj? sns.Topic Instancia existente del objeto SNS Topic, proporcionando tanto esto comotopicPropsprovocará un error.
¿TopicProps? sns.TopicProps Propiedades proporcionadas por el usuario opcionales para anular las propiedades predeterminadas para el tema SNS.
¿Existe VPC? ec2.IVpc Una VPC opcional existente en la que se debe implementar este patrón. Cuando se implementa en una VPC, la función Lambda utilizará ENI en la VPC para acceder a los recursos de red y se creará un extremo de interfaz en la VPC para Amazon SQS. Si se proporciona una VPC existente, eldeployVpcno se puedetrue. Para ello se utilizaec2.IVpcpara permitir que los clientes suministren VPC que existen fuera de la pila mediante el comandoec2.Vpc.fromLookup()Método de.
¿Implementar VPC? boolean Si se va a crear una VPC nueva basada envpcPropsen el que desplegar este patrón. Si se establece este valor entrueimplementará la VPC mínima y más privada para ejecutar el patrón:
  • Una subred aislada en cada zona de disponibilidad utilizada por el programa CDK.

  • enableDnsHostnamesyenableDnsSupportambos se establecerán entrue.

Si esta propiedad estrue, luegoexistingVpcNo se puede especificar . El valor predeterminado es false.
¿VPCProps? ec2.VpcProps Propiedades opcionales proporcionadas por el usuario para anular las propiedades predeterminadas de la nueva VPC.enableDnsHostnames,enableDnsSupport,natGatewaysysubnetConfigurationestán establecidos por el patrón, por lo que cualquier valor para esas propiedades suministradas aquí será anulado. SideployVpcno estrueSi se pasa por alto esta propiedad.
TopArnEnvironmentVariableName? string Nombre opcional para el conjunto de variables de entorno ARN del tema SNS para la función Lambda.
TopNameEnvironmentVariableName? string Nombre opcional para el conjunto de variables de entorno de nombre de tema SNS para la función Lambda.

Propiedades de patrón

Nombre Tipo Descripción
LambdaFunction lambda.Function Devuelve una instancia de la función Lambda creada por el patrón.
SNSTopic sns.Topic Devuelve una instancia del tema SNS creado por el patrón.
¿VPC? ec2.IVpc Devuelve una instancia de la VPC utilizada por el patrón (si la hay). Esta puede ser una VPC creada por el patrón o la VPC suministrada al constructor del patrón.

Configuración predeterminada

La implementación inmediata del componente fijo sin anulación establecerá los siguientes valores predeterminados:

Función de AWS Lambda

  • Configurar el rol de IAM de acceso limitado con privilegios para la función Lambda.

  • Habilite la reutilización de conexiones con la función Keep-Alive para NodeJS Lambda.

  • Active el rastreo de X-Ray.

  • Configuración de las variables de entorno:

    • SNS_TOPIC_NAME (predeterminado)

    • SNS_TOPIC_ARN (predeterminado)

    • AWS_NODEJS_CONNECTION_REUSE_ENABLED(para Node 10.x y funciones superiores)

Tema de Amazon SNS

  • Configurar permisos de acceso de privilegios mínimos para el tema SNS.

  • Habilite el cifrado del lado del servidor mediante la clave KMS administrada por AWS.

  • Aplicación del cifrado de los datos en tránsito.

Architecture

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

GitHub

Para ver el código de este patrón, crear/ver problemas y solicitudes de extracción, y mucho más:
Circular icon with a graduation cap symbol representing education or learning.
@aws -soluciones-constructs/aws-lambda-sns