Esta es la guía para desarrolladores de AWS CDK v2. La primera versión del CDK pasó a la etapa de mantenimiento el 1.° de junio de 2022 y no cuenta con soporte desde el 1.° de junio de 2023.
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.
Aspectos y el AWS CDK
Los aspectos son una forma de aplicar una operación a todos los constructos de un ámbito determinado. El aspecto podría modificar los constructos, por ejemplo, mediante el agregado de etiquetas. O podría verificar algo sobre el estado de los constructos, como asegurarse de que todos los bucket estén cifrados.
Para aplicar un aspecto a un constructo y a todos los constructos del mismo ámbito, llame a
Aspects.of(<SCOPE>).add() con aspecto nuevo, como se muestra en el siguiente ejemplo.
ejemplo
El AWS CDK usa aspectos para etiquetar los recursos, pero el marco también se puede usar para otros fines. Por ejemplo, puede usarla para validar o cambiar los AWS CloudFormation recursos que definan para usted las construcciones de nivel superior.
Aspectos frente a mixins
Tanto Aspects como Mixins modifican los constructos, pero difieren en el momento y la forma en que se aplican:
| Característica | Aspectos | Mezclas |
|---|---|---|
|
Cuando se aplica |
Durante la síntesis, después de que se haya ejecutado el resto del código. |
Inmediatamente cuando |
|
Alcance |
Todas las construcciones de un ámbito determinado, incluidas las que se agreguen posteriormente. |
Solo las construcciones a las que las aplique de forma explícita. |
|
Style (Estilo) |
Declarativo: se establece una regla y la CDK la aplica. |
Imperativo: tú eliges qué aplicar y dónde. |
|
Lo mejor para |
Validación, conformidad, etiquetado y políticas generales. |
Añadir funciones específicas a los recursos individuales. |
Utilice Aspects cuando desee hacer cumplir las reglas en toda la aplicación o validar que las construcciones cumplan ciertos criterios. Utilice Mixins cuando desee añadir una función específica a una construcción específica.
Aspects y Mixins se pueden usar juntos. Por ejemplo, puede usar Mixins para configurar recursos individuales y Aspects para validar que todos los recursos de una pila cumplen con los requisitos de seguridad de su organización.
Aspectos en detalle
Los aspectos emplean el patrón de visitantes
ejemplo
Cuando llama a Aspects.of(<SCOPE>).add(…), el constructo agrega el aspecto a una lista interna de aspectos. Puede obtener la lista mediante Aspects.of(<SCOPE>).
Durante la fase de preparación, el AWS CDK llama al visit método del objeto para la construcción y para cada uno de sus elementos secundarios en orden descendente.
El método visit puede cambiar cualquier aspecto del constructo. En lenguajes fuertemente tipados, convierta el constructo recibido en un tipo más específico antes de acceder a las propiedades o métodos específicos del constructo.
Los aspectos no se propagan a través de los límites Stage de los constructos, porque los Stages son autónomos e inmutables después de la definición. Aplique los aspectos en el propio Stage del constructo (o en una parte inferior) si quiere que visiten los constructos que se encuentran dentro del Stage.
Ejemplo
El siguiente ejemplo valida que todos los buckets creados en la pila tengan activado el control de versiones. El aspecto agrega una anotación de error a los constructos que no superan la validación. Esto provoca un error en la operación synth e impide implementar el ensamblaje de nube resultante.