Seleccione sus preferencias de cookies

Usamos cookies esenciales y herramientas similares que son necesarias para proporcionar nuestro sitio y nuestros servicios. Usamos cookies de rendimiento para recopilar estadísticas anónimas para que podamos entender cómo los clientes usan nuestro sitio y hacer mejoras. Las cookies esenciales no se pueden desactivar, pero puede hacer clic en “Personalizar” o “Rechazar” para rechazar las cookies de rendimiento.

Si está de acuerdo, AWS y los terceros aprobados también utilizarán cookies para proporcionar características útiles del sitio, recordar sus preferencias y mostrar contenido relevante, incluida publicidad relevante. Para aceptar o rechazar todas las cookies no esenciales, haga clic en “Aceptar” o “Rechazar”. Para elegir opciones más detalladas, haga clic en “Personalizar”.

AWS CDK aplicaciones

Modo de enfoque
AWS CDK aplicaciones - AWS Cloud Development Kit (AWS CDK) v2

Esta es la guía para AWS CDK desarrolladores de la versión 2. 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.

Esta es la guía para AWS CDK desarrolladores de la versión 2. 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.

La AWS Cloud Development Kit (AWS CDK) aplicación o app es un conjunto de una o más pilas de CDK. Las pilas son un conjunto de una o más estructuras que definen AWS los recursos y las propiedades. Por lo tanto, la agrupación general de sus pilas y constructos se conoce como una aplicación de CDK.

Cómo crear una aplicación de CDK

Para crear una aplicación, define una instancia de aplicación en el archivo de aplicación de su proyecto. Para ello, importe y utilice el componente fijo de la Appbiblioteca de componentes fijos AWS . El constructo App no requiere ningún argumento para la inicialización. Es el único constructo que se puede utilizar como raíz.

StackLas clases App y de la AWS biblioteca de componentes son construcciones únicas. En comparación con otras construcciones, no configuran AWS los recursos por sí mismas. En cambio, se utilizan para proporcionar contexto para los otros constructos. Todos los constructos que representan AWS recursos deben definirse, directa o indirectamente, dentro del ámbito de un Stack constructo. Stacklos constructos se definen dentro del ámbito de un App constructo.

Luego, las aplicaciones se sintetizan para crear AWS CloudFormation plantillas para tus pilas. A continuación, se muestra un ejemplo:

TypeScript
const app = new App(); new MyFirstStack(app, 'hello-cdk'); app.synth();
JavaScript
const app = new App(); new MyFirstStack(app, 'hello-cdk'); app.synth();
Python
app = App() MyFirstStack(app, "hello-cdk") app.synth()
Java
App app = new App(); new MyFirstStack(app, "hello-cdk"); app.synth();
C#
var app = new App(); new MyFirstStack(app, "hello-cdk"); app.Synth();
Go
app := awscdk.NewApp(nil) MyFirstStack(app, "MyFirstStack", &MyFirstStackProps{ awscdk.StackProps{ Env: env(), }, }) app.Synth(nil)
const app = new App(); new MyFirstStack(app, 'hello-cdk'); app.synth();

Las pilas de una sola aplicación pueden hacer referencia a los recursos y las propiedades de las demás con facilidad. AWS CDK Deduce las dependencias entre las pilas para que se puedan implementar en el orden correcto. Puede implementar cualquiera de las pilas de una aplicación o todas ellas con un solo comando cdk deploy.

El árbol de constructos

Los constructos se definen dentro de otros constructos mediante el argumento scope que se pasa a cada constructo, con la clase App como raíz. De esta forma, una AWS CDK aplicación define una jerarquía de componentes conocida como árbol de componentes.

La raíz de este árbol es su aplicación, que es una instancia de la clase App. Dentro de la aplicación, se crean instancias de una o más pilas. Dentro de las pilas, se crean instancias de los constructos, que, a su vez, pueden crear instancias de recursos u otros constructos, y así sucesivamente en el resto del árbol.

Los constructos siempre se definen de forma explícita en el ámbito de otro constructo, lo cual crea relaciones entre los constructos. Casi siempre, debe pasar this (en Python, self) como el ámbito, lo que indica que el nuevo constructo es un elemento secundario del constructo actual. El patrón previsto consiste en derivar su constructo a partir de Construct y, luego, crear una instancia de los constructos que utiliza en su constructor.

Pasar el ámbito de forma explícita permite que cada constructo se agregue a sí mismo al árbol. Este comportamiento se limita exclusivamente a la clase base Construct. Funciona de la misma manera en todos los idiomas admitidos por el AWS CDK y no requiere ninguna personalización adicional.

importante

Técnicamente, es posible pasar un ámbito distinto a this cuando se genere un constructo. Puede agregar constructos en cualquier parte del árbol, incluso en otra pila de la misma aplicación. Por ejemplo, puede escribir una función de estilo mixto que agregue constructos a un ámbito que se pasó como argumento. La dificultad práctica en este caso es que no puedes asegurarte fácilmente de que la que IDs elijas para tus construcciones sea única en el ámbito de otra persona. Esta práctica también hace que sea más difícil entender, mantener y reutilizar el código. Por lo tanto, se recomienda utilizar la estructura general del árbol de constructos.

AWS CDK Utiliza todos los constructos IDs de la ruta desde la raíz del árbol hasta cada constructo secundario para generar el único IDs requerido por. AWS CloudFormation Este enfoque significa que la construcción IDs solo tiene que ser única dentro de su ámbito, y no dentro de toda la pila, como en el caso de la versión nativa AWS CloudFormation. Sin embargo, si mueves una construcción a un ámbito diferente, la ID única de la pila generada cambiará y AWS CloudFormation no se considerará el mismo recurso.

El árbol de construcciones es independiente de las construcciones que definas en el código. AWS CDK Sin embargo, se puede acceder a él con el atributo node de cualquier constructo, que es una referencia al nodo que representa ese constructo en el árbol. Cada nodo es una instancia Node, cuyos atributos proporcionan acceso a la raíz del árbol y a los ámbitos principales y secundarios del nodo.

  1. node.children: los elementos secundarios del constructo.

  2. node.id: el identificador del constructo dentro de su ámbito.

  3. node.path— La ruta completa de la construcción, incluida la IDs de todos sus padres.

  4. node.root: la raíz del árbol de constructos (la aplicación).

  5. node.scope: el ámbito (principal) del constructo o indefinido si el nodo es la raíz.

  6. node.scopes: todos los elementos principales del constructo, hasta la raíz.

  7. node.uniqueId: el identificador alfanumérico único de este constructo dentro del árbol (se genera de forma predeterminada a partir de node.path y un hash).

El árbol de constructos establece un orden implícito en el que los constructos se sintetizan en recursos de la plantilla final de AWS CloudFormation . Donde se debe crear un recurso antes que otro, AWS CloudFormation o la biblioteca de AWS construcción generalmente deduce la dependencia. Luego, se aseguran de que los recursos se creen en el orden correcto.

También puede agregar una dependencia explícita entre dos nodos mediante node.addDependency(). Para obtener más información, consulte Dependencies en la Referencia de la API de AWS CDK .

AWS CDK Proporciona una forma sencilla de visitar todos los nodos del árbol de construcción y realizar una operación en cada uno de ellos. Para obtener más información, consulte Aspectos y AWS CDK.

En esta página

PrivacidadTérminos del sitioPreferencias de cookies
© 2025, Amazon Web Services, Inc o sus afiliados. Todos los derechos reservados.