función de paso aws-s3 - 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.

función de paso aws-s3

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_s3_step_function
TypeScript
@aws-solutions-constructs/aws-s3-step-function
Java
software.amazon.awsconstructs.services.s3stepfunction

Overview

Este constructo de soluciones de AWS implementa un depósito de Amazon S3 conectado a una función de pasos de AWS.

nota

Esta construcción utiliza Amazon EventBridge (Amazon CloudWatch Events) para activar AWS Step Functions. EventBridge es más flexible, pero activar Step Functions con notificaciones de eventos de S3 tiene menos latencia y es más rentable. Si el costo y/o la latencia son un problema, debe considerar implementaraws-s3-lambdayaws-lambda-stepfunctionsen lugar de este constructo.

Aquí hay una definición mínima de patrón implementable en TypeScript:

import { S3ToStepFunction, S3ToStepFunctionProps } from '@aws-solutions-constructs/aws-s3-step-function'; import * as stepfunctions from '@aws-cdk/aws-stepfunctions'; const startState = new stepfunctions.Pass(this, 'StartState'); new S3ToStepFunction(this, 'test-s3-step-function-stack', { stateMachineProps: { definition: startState } });

Initializer

new S3ToStepFunction(scope: Construct, id: string, props: S3ToStepFunctionProps);

Parámetros

Patrón de construcción

Nombre Tipo Descripción
¿ExistenteBuckeTobj? s3.IBucket Instancia existente del objeto S3 Bucket. Si se proporciona esto, entonces también proporcionabucketPropses un error.
¿BucketProps? s3.BucketProps Propiedades opcionales proporcionadas por el usuario para anular las propiedades predeterminadas del depósito. Se pasa por alto si unexistingBucketObjse encuentra.
StateMachineProps sfn.StateMachineProps El usuario ha proporcionado accesorios opcionales para anular los accesorios predeterminados para SFN.StateMachine.
¿EventRuleProps? events.RuleProps El usuario opcional proporcionó EventRuleProps para anular los valores predeterminados.
Implementar CloudTrail? boolean Si desea implementar un Trail en AWS CloudTrail para registrar eventos de API en Amazon S3. El valor predeterminado es true.
CreateCloudWatchalarms boolean Si desea crear alarmas recomendadas de CloudWatch.
LogGroupProps? logs.LogGroupProps Concede opcionales proporcionados por el usuario para anular los accesorios predeterminados para el grupo de registros de CloudWatch Logs.

Propiedades de patrón

Nombre Tipo Descripción
¿Trail de nubes? cloudtrail.Trail Devuelve una instancia de la pista de Cloudtrail creada por el patrón.
¿CloudTrailBucket? s3.Bucket Devuelve una instancia del bucket creado por el patrón para almacenar datos de rastreo de Cloudtrail.
CloudTrailLogingBucket? s3.Bucket Devuelve una instancia del depósito de registro creado por el patrón para el depósito principal utilizado por la pista de Cloudtrail.
¿CloudWatchalarms? cloudwatch.Alarm[] Devuelve una lista de una o más alarmas de CloudWatch creadas por el patrón.
¿S3 Bucket? s3.Bucket Devuelve una instancia del bucket S3 creado por el patrón.
¿S3LoggingBucket? s3.Bucket Devuelve una instancia del depósito de registro creado por el patrón para el bucket S3.
StateMachine sfn.StateMachine Devuelve una instancia de la máquina de estado creada por el patrón.
StateMachineLogGroup logs.LogGroup Devuelve una instancia del grupo de registros creado por el patrón para la máquina de estado.

Configuración predeterminada

La implementación lista para usar de este patrón sin anulación establecerá los siguientes valores predeterminados:

Bucket de Amazon S3

  • Configurar el registro de acceso para S3 Bucket.

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

  • Active el control de versiones para S3 Bucket.

  • No permita el acceso público para S3 Bucket.

  • Mantenga el Bucket S3 cuando elimine la pila CloudFormation.

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

  • Aplica una regla de ciclo de vida para mover versiones de objetos no actuales al almacenamiento de Glacier después de 90 días.

AWS CloudTrail

  • Configure un Trail en AWS CloudTrail para registrar eventos de API en Amazon S3 relacionados con el Bucket creado por el Construct.

Reglas de Amazon CloudWatch Events

  • Conceda permisos de privilegios mínimos a CloudWatch Events para activar la función Lambda.

AWS Step Function

  • Active el registro de CloudWatch para API Gateway.

  • Implemente las prácticas recomendadas de CloudWatch Alarms para la función Step.

Architecture

GitHub

Para ver el código de este patrón, crear/ver problemas y solicitudes de extracción, y mucho más:
@aws -solutions-constructs/aws-s3-step-function