

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

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

# 开始使用 CDK 工具包库
<a name="toolkit-library-gs"></a>

开始使用 AWS CDK 工具包库以编程方式在代码中执行 CDK 操作（例如合成和部署）。

## 先决条件
<a name="toolkit-library-gs-prerequisites"></a>

1. 已安装受支持的 Node.js 版本。

1.  配置了 AWS 凭证。

1. 对 AWS CDK 有基本了解。

有关更多信息，请参阅 [AWS CDK 先决条件](prerequisites.md)。

## 步骤 1：安装 CDK 工具包库
<a name="toolkit-library-gs-install"></a>

通过运行以下命令，在项目开发环境中安装 CDK 工具包库软件包：

```
npm install --save @aws-cdk/toolkit-lib
```

## 步骤 2：初始化 CDK 工具包库
<a name="toolkit-library-gs-initialize"></a>

创建 CDK 工具包实例，以便对 CDK 应用程序执行编程操作。

```
import { Toolkit } from '@aws-cdk/toolkit-lib';

const toolkit = new Toolkit({
    // Optional configuration options go here
});
```

在创建过程中，您可以自定义 CDK 工具包实例。有关说明，请参阅[配置 CDK 工具包实例](toolkit-library-configure.md)。

## 步骤 3：为 CDK 应用程序创建云程序集源
<a name="toolkit-library-gs-ca"></a>

云程序集源提供了从 CDK 应用程序生成 CloudFormation 模板的说明。您可以通过多种方式创建一个。以下是一些示例：

1.  **内联程序集生成器函数**：

   ```
   import * as cdk from 'aws-cdk-lib';
   
   const cloudAssemblySource = await toolkit.fromAssemblyBuilder(async () => {
     const app = new cdk.App();
     new MyStack(app, 'MyStack');
     return app.synth();
   });
   ```

1.  **现有 CDK 应用程序文件**：

   ```
   const cloudAssemblySource = await toolkit.fromCdkApp("ts-node app.ts");
   ```

有关更多信息，请参阅[配置云程序集源](toolkit-library-configure-ca.md)。

## 步骤 4：为 CDK 应用程序定义编程操作
<a name="toolkit-library-gs-define"></a>

现在您已经创建了 CDK 工具包实例和云程序集源，可以开始定义编程操作了。下面是创建 `MyStack` 堆栈部署的基本示例：

```
import { StackSelectionStrategy } from '@aws-cdk/toolkit-lib';

await toolkit.deploy(cloudAssemblySource, {
  stacks: {
    strategy: StackSelectionStrategy.PATTERN_MUST_MATCH, // Deploy only stacks that exactly match the provided patterns
    patterns: ["MyStack"],
  },
});
```

## 步骤 5：进一步自定义 CDK 工具包
<a name="toolkit-library-gs-customize"></a>

您可以根据自己的需求进一步配置和自定义 CDK 工具包：
+  **消息和交互** - 配置 CDK 工具包如何与用户和应用程序进行通信。请参阅[配置消息和交互](toolkit-library-configure-messages.md)。
+  **错误处理** - 为 CDK 操作实施结构化错误处理。请参阅[配置错误处理](toolkit-library-configure.md#toolkit-library-configure-errors)。

## 其他资源
<a name="toolkit-library-gs-resources"></a>

有关 CDK 工具包库 `npm` 包的更多信息，请参阅 *@aws-cdk/toolkit-lib* `npm` 包中的 [ReadMe](https://www.npmjs.com/package/@aws-cdk/toolkit-lib)。

有关 API 参考信息，请参阅 [CDK 工具包库 API 参考](https://docs.aws.amazon.com/cdk/api/toolkit-lib/)。