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-sqs
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 laVersionado semántico
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 |
|---|---|
|
aws_solutions_constructs.aws_lambda_sqs
|
|
@aws-solutions-constructs/aws-lambda-sqs
|
|
software.amazon.awsconstructs.services.lambdasqs
|
Overview
Este constructo de soluciones de AWS implementa una función de AWS Lambda conectada a una cola de Amazon SQS.
Aquí hay una definición mínima de patrón implementable en TypeScript:
import { LambdaToSqs, LambdaToSqsProps } from "@aws-solutions-constructs/aws-lambda-sqs"; new LambdaToSqs(this, 'LambdaToSqsPattern', { 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 LambdaToSqs(scope: Construct, id: string, props: LambdaToSqsProps);
Parámetros
-
scope
Construct -
id
string -
propsLambdaToSqsProps
Patrón de construcción
| Nombre | Tipo | Descripción |
|---|---|---|
| ¿ExistenteLambdaobj? |
lambda.Function
|
Una función Lambda opcional existente que se utilizará en lugar de la función predeterminada. 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. |
| ExistingQueueObj? |
sqs.Queue
|
Una cola SQS opcional existente que se utilizará en lugar de la cola predeterminada. Proporcionando tanto esto comoqueuePropsprovocará un error. |
| ¿Props en cola? |
sqs.QueueProps
|
Propiedades opcionales proporcionadas por el usuario para anular las propiedades predeterminadas de la cola SQS. |
| ¿EnableQueuePurging? |
boolean
|
Si se deben conceder permisos adicionales a la función Lambda, lo que le permite depurar la cola SQS. El valor predeterminado es false. |
| DeployDeadLetterQueue? |
boolean
|
Si se crea una cola secundaria para utilizarse como cola de mensajes fallidos. El valor predeterminado es true. |
| DeadletterQueueProps? |
sqs.QueueProps
|
Props opcionales proporcionados por el usuario para anular los apoyos predeterminados para la cola de letras muertas. Solo se usa si eldeployDeadLetterQueuetoma el valor verdadero. |
| ¿maxReceiveCount? |
number
|
El número de veces que un mensaje se puede quitar sin éxito antes de que se traslade a la cola de mensajes fallidos. El valor predeterminado es 15. |
| ¿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. Unaec2.IVpcse utiliza para permitir que los clientes proporcionen VPC que existen fuera de la pila mediante el comandoec2.Vpc.fromLookup()Método de. |
| ¿Implementar VPC? |
boolean
|
Si se debe crear una VPC nueva basada envpcPropsen el que desplegar este patrón. Si se establece este valortrueimplementará la VPC mínima y más privada para ejecutar el patrón:
true, 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,natGateways, ysubnetConfigurationestán establecidos por el patrón, por lo que cualquier valor para las propiedades suministradas aquí será anulado. SideployVpcno estrue, esta propiedad se pasará por alto. |
| QueueEnvironmentVariableName? |
string
|
Nombre opcional para el conjunto de variables de entorno URL de cola SQS para la función Lambda. |
Patrón
| Nombre | Tipo | Descripción |
|---|---|---|
| DeadLetterQueue? |
sqs.Queue
|
Devuelve una instancia de la cola de letras muertas creada por el patrón, si se implementa una. |
| LambdaFunction |
lambda.Function
|
Devuelve una instancia de la función Lambda creada por el patrón. |
| SQSqueue |
sqs.Queue
|
Devuelve una instancia de la cola SQS creada por el patrón. |
| ¿VPC? |
ec2.IVpc
|
Devuelve una instancia de la VPC creada o utilizada por el patrón (si la hay). Puede ser una VPC creada por el patrón o una 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.
-
Permita que la función sólo envíe mensajes a la cola (la depuración se puede habilitar usando el comando
enableQueuePurge). -
Habilite el X-Ray streo
-
Configuración de las variables de entorno:
-
SQS_QUEUE_URL -
AWS_NODEJS_CONNECTION_REUSE_ENABLED(para Node 10.x y funciones superiores)
-
Cola de Amazon SQS
-
Aplicación de la cola de mensajes fallidos de SQS para la cola de SQS de origen.
-
Habilite el cifrado en el lado de servidor para la cola de SQS de origen mediante la clave KMS administrada de AWS.
-
Aplicación del cifrado de los datos en tránsito.
Architecture
GitHub
| Para ver el código de este patrón, crear/ver problemas y solicitudes de extracción, y mucho más: | |
|---|---|
|
@aws -soluciones-constructs/aws-lambda-sqs |