

这是 AWS CDK v2 开发者指南。旧版 CDK v1 于 2022 年 6 月 1 日进入维护阶段，并于 2023 年 6 月 1 日终止支持。

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 使用 CDK 工具包库执行编程操作
<a name="toolkit-library"></a>

## 了解 CDK 工具包库
<a name="toolkit-library-intro"></a>

CDK 工具包库使您能够以编程方式通过代码执行 CDK 操作，而不必使用 CLI 命令。您可以使用此库创建自定义工具、构建专用 CLI 应用程序，并将 CDK 功能集成到您的开发工作流中。

 **通过编程控制管理基础设施生命周期**   
CDK 工具包库为下面的 CDK 操作提供编程接口：  
+  **合成** - 生成 AWS CloudFormation 模板和部署构件。
+  **部署** - 使用 CloudFormation 模板预置或更新基础设施。
+  **重构** - 在重构 CDK 代码时保留已部署的资源，例如重命名构造或在堆栈之间移动它们。
+  **列出** - 查看有关堆栈及其依赖项的信息。
+  **监视** - 监控 CDK 应用程序的本地更改。
+  **回滚** - 将堆栈恢复到其上一个稳定状态。
+  **销毁** - 移除 CDK 堆栈和关联的资源。

 **增强和自定义基础设施管理**   
+  **通过代码进行控制** - 将基础设施管理直接集成到应用程序中，并构建响应式部署管线。
+  **管理云程序集** - 在部署之前创建、检查和转换基础设施定义。
+  **自定义部署** - 根据要求配置参数、回滚行为和监控。
+  **在重构期间保留资源** - 在重构 CDK 代码时自动检测和保留资源。
+  **精确处理错误** - 使用详细的诊断信息实施结构化错误处理。
+  **定制通信** - 通过 `IoHost` 实现配置自定义进度指示器和日志记录。
+  **与 AWS 连接** - 以编程方式配置配置文件、区域和身份验证流程。

## 选择何时使用 CDK 工具包库
<a name="toolkit-library-intro-when"></a>

当您需要执行以下操作时，CDK 工具包库尤其有用：
+ 作为 CI/CD 管线的一部分自动部署基础设施。
+ 构建根据组织需求定制的自定义部署工具。
+ 将 CDK 操作集成到现有应用程序或平台中。
+ 创建具有自定义验证或审批步骤的专用部署工作流。
+ 在多个环境中实施高级基础设施管理模式。
+ 在重构 CDK 代码时，自动执行重构操作以节省资源。

## 使用 CDK 工具包库
<a name="toolkit-library-intro-example"></a>

以下示例展示了如何使用 CDK 工具包库创建和部署简单的 S3 存储桶：

```
// Import required packages
import { Toolkit } from '@aws-cdk/toolkit-lib';
import { App, Stack } from 'aws-cdk-lib';
import * as s3 from 'aws-cdk-lib/aws-s3';

// Create and configure the CDK Toolkit
const toolkit = new Toolkit();

// Create a cloud assembly source with an inline app
const cloudAssemblySource = await toolkit.fromAssemblyBuilder(async () => {
   const app = new App();
   const stack = new Stack(app, 'SimpleStorageStack');

   // Create an S3 bucket in the stack
   new s3.Bucket(stack, 'MyFirstBucket', {
      versioned: true
   });

   return app.synth();
});

// Deploy the stack
await toolkit.deploy(cloudAssemblySource);
```

 **接下来如何操作**   
+  **自动部署** - 以编程方式触发部署，并添加部署前/后步骤。
+  **与系统集成** - 使用 CI/CD 工作流、自定义工具和监控解决方案连接。
+  **控制部署详细信息** - 为堆栈选择和多环境部署配置精细的选项。
+  **增强可靠性** - 实施生产就绪的错误处理和部署进度跟踪。
+  **自动重构** - 在重构 CDK 代码时检测并保留资源。

## 后续步骤
<a name="toolkit-library-intro-next"></a>

要开始使用 CDK 工具包库，请参阅[开始使用 CDK 工具包库](toolkit-library-gs.md)。

## 了解更多
<a name="toolkit-library-intro-learn"></a>

要了解有关 CDK 工具包库的更多信息，请参阅以下内容：
+  *@aws-cdk/toolkit-lib* `npm` 中的 [ReadMe](https://www.npmjs.com/package/@aws-cdk/toolkit-lib)。
+  [AWS CDK 工具包库 API 参考](https://docs.aws.amazon.com/cdk/api/toolkit-lib/)。