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.
Configuración de la instancia de CDK Toolkit
Aprenda a personalizar su instancia de la biblioteca de AWS CDK Toolkit con opciones para la gestión de mensajes, la selección de AWS perfiles y las estrategias de selección de pilas. Esta guía explica las opciones de configuración disponibles y cómo implementarlas de manera eficaz para cumplir con sus requisitos de implementación específicos.
Configuración de su AWS perfil
Cuando utilizas la biblioteca del kit de herramientas del CDK, esta realiza llamadas a la API para AWS usar el SDK. Si bien la autenticación se carga automáticamente desde su entorno, puede especificar de forma explícita qué perfil usar:
import { Toolkit } from '@aws-cdk/toolkit-lib'; // Create a toolkit instance with a specific AWS profile const toolkit = new Toolkit({ sdkConfig: { profile: "my-profile" }, });
Configuración de la selección de pilas
La mayoría de las acciones del CDK Toolkit requieren que especifique en qué pilas operar. La
StackSelector
configuración controla esta selección.
Seleccione todas las pilas
Úselo cuando desee operar en todas las pilas de su aplicación CDK:
import { StackSelectionStrategy } from '@aws-cdk/toolkit-lib'; // Select all stacks in the cloud assembly await toolkit.deploy(cloudAssemblySource, { stacks: { strategy: StackSelectionStrategy.ALL_STACKS } });
Seleccione solo las pilas de ensamblaje principales
Utilice esta opción para seleccionar únicamente las pilas de nivel superior del conjunto principal:
// Select only top-level stacks await toolkit.deploy(cloudAssemblySource, { stacks: { strategy: StackSelectionStrategy.MAIN_ASSEMBLY } });
Seleccione una sola pila
Úselo cuando su ensamblaje contenga exactamente una pila y desee hacer valer esta condición. Si el ensamblaje incluye una sola pila, devuelve esa pila. De lo contrario, genera una excepción:
// Ensure there's exactly one stack and select it await toolkit.deploy(cloudAssemblySource, { stacks: { strategy: StackSelectionStrategy.ONLY_SINGLE } });
Selecciona pilas por patrón
Use esto para seleccionar pilas específicas por patrón de nombre:
// Select stacks matching specific patterns await toolkit.deploy(cloudAssemblySource, { stacks: { strategy: StackSelectionStrategy.PATTERN_MUST_MATCH, patterns: ["Dev-*", "Test-Backend"], // Supports wildcards } });
sugerencia
PATTERN_MUST_MATCH_SINGLE
Úsalo para asegurarte de que exactamente una pila coincida con tus patrones o, PATTERN_MATCH
si es aceptable, que ninguna pila coincida. La coincidencia de patrones admite caracteres comodín como «*» para hacer coincidir varias pilas con nombres similares.
Configurar la gestión de errores
El kit de herramientas del CDK utiliza errores estructurados para ayudarle a identificar y gestionar los problemas. Cada error incluye:
-
Una fuente que indique dónde se originó el error (kit de herramientas o usuario).
-
Un tipo de error específico (autenticación, validación, etc.).
-
Un mensaje descriptivo.
Gestión de errores
Utilice los métodos auxiliares que proporciona el kit de herramientas CDK para detectar y gestionar tipos de errores específicos:
import { ToolkitError } from '@aws-cdk/toolkit-lib'; try { // Attempt a CDK Toolkit operation await toolkit.deploy(cloudAssemblySource, { stacks: { strategy: StackSelectionStrategy.ALL_STACKS } }); } catch (error) { // Handle specific error types if (ToolkitError.isAuthenticationError(error)) { // Example: AWS credentials are missing or invalid console.error('Authentication failed. Check your AWS credentials.'); } else if (ToolkitError.isAssemblyError(error)) { // Example: Your CDK app has errors in stack definitions console.error('CDK app error:', error.message); } else if (ToolkitError.isDeploymentError(error)) { // Example: CloudFormation deployment failed console.error('Deployment failed:', error.message); } else if (ToolkitError.isToolkitError(error)) { // Handle all other Toolkit errors console.error('CDK Toolkit error:', error.message); } else { // Handle unexpected errors console.error('Unexpected error:', error); } }
importante
No confíe en las instanceof
comprobaciones de los tipos de error, ya que pueden comportarse de forma inesperada cuando se trabaja con varias copias del mismo paquete. Utilice siempre los métodos de ayuda proporcionados, comoToolkitError.isAuthenticationError()
.
Configuración de las acciones del kit de herramientas
Cada acción del CDK Toolkit (desplegar, sintetizar, enumerar, etc.) tiene sus propias opciones de configuración específicas. Estas acciones le permiten gestionar el ciclo de vida completo de su infraestructura de CDK. Para obtener información detallada sobre la configuración de acciones individuales, consulte Configurar las acciones programáticas del CDK Toolkit.
sugerencia
Al crear flujos de trabajo de automatización, considere la posibilidad de combinar varias acciones en secuencia. Por ejemplo, es posible que desees usar synth
tu aplicación, list
las pilas para verificar lo que se va a implementar y, después, deploy
la infraestructura.