

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

# 使用基础架构编排器构建您的第一个应用程序
<a name="getting-started-build"></a>

在本教程中，您将使用 AWS 基础架构编辑器 创建用于管理数据库中用户的创建、读取、更新和删除 (CRUD) 无服务器应用程序。

在本教程中，我们在中使用基础设施编排器 AWS 管理控制台。我们建议您使用Google Chrome或Microsoft Edge，并使用全屏浏览器窗口。

**您是无服务器技术的新手吗？**  
我们建议您初步了解以下主题：  
[事件驱动型架构](what-is-concepts.md#what-is-concepts-terms-eda)
[基础设施即代码（IaC）](what-is-concepts.md#what-is-concepts-terms-iac)
[无服务器技术](what-is-concepts.md#what-is-concepts-terms-serverless)
要了解更多信息，请参阅[的无服务器概念 AWS 基础架构编辑器](what-is-concepts.md)。

**Topics**
+ [资源属性参考](#getting-started-build-reference)
+ [第 1 步：创建您的项目](#getting-started-build-start)
+ [第 2 步：向画布添加卡片](#getting-started-build-rest-cards)
+ [第 3 步：配置你的 API Gateway REST API](#getting-started-build-rest)
+ [第 4 步：配置您的 Lambda 函数](#getting-started-build-functions)
+ [第 5 步：Connect 你的卡片](#getting-started-build-connect)
+ [第 6 步：整理画布](#getting-started-build-organize)
+ [步骤 7：添加并连接 DynamoDB 表](#getting-started-build-table)
+ [第 8 步：查看您的 AWS CloudFormation 模板](#getting-started-build-template)
+ [第 9 步：集成到您的开发工作流程中](#getting-started-build-integrate)
+ [后续步骤](#getting-started-build-next)

## 资源属性参考
<a name="getting-started-build-reference"></a>

在构建应用程序时，请使用此表作为参考，配置您的 Amazon API Gateway 和 AWS Lambda 资源的属性。


| 方法 | 路径 | 函数名称 | 
| --- | --- | --- | 
|  GET  |  /items  |  GetItems  | 
|  GET  |  /items/ \$1id\$1  |  getItem  | 
|  PUT  |  /items/ \$1id\$1  |  更新项目  | 
|  POST  |  /item  |  AddIte  | 
|  DELETE  |  /items/ \$1id\$1  |  deleteItem  | 

## 第 1 步：创建您的项目
<a name="getting-started-build-start"></a>

要开始使用 CRUD 无服务器应用程序，请在 Infrastructure Composer 中创建一个新项目并激活**本地**同步。

**创建新的空白项目**

1. 登录[基础设施编排控制台](https://console.aws.amazon.com/composer/home)。

1. 在**主页**上，选择**创建项目**。

如下图所示，Infrastructure Composer 打开可视化画布并加载起始（空白）应用程序模板。

![\[带有空白视觉画布的基础设施编排器。\]](http://docs.aws.amazon.com/zh_cn/infrastructure-composer/latest/dg/images/aac_t2_01.png)


**激活本地同步**

1. 从 “基础设施编排**” 菜单中**，选择 “**保存**” > “**激活本地同步**”。  
![\[选中 “激活本地同步” 的 “基础设施编辑器” 菜单。\]](http://docs.aws.amazon.com/zh_cn/infrastructure-composer/latest/dg/images/aac_t2_09.png)

1. 在 “**项目位置**” 中，按**选择文件夹**，然后选择一个目录。在您设计时，基础设施编排器将在这里保存和同步您的模板文件和文件夹。

   项目位置不得包含现有的应用程序模板。
**注意**  
**本地同步**需要支持文件系统访问 API 的浏览器。有关更多信息，请参阅 [数据基础架构编排器可以访问](reference-fsa.md#reference-fsa-access)。

1. 当系统提示允许访问时，选择 “**查看文件**”。

1. 按 “**激活**” 开启**本地同步**。当系统提示保存更改时，选择**保存更改**。

   激活后，**自动保存**指示器将显示在画布的左上角区域。

## 第 2 步：向画布添加卡片
<a name="getting-started-build-rest-cards"></a>

开始使用增强的组件卡设计您的应用程序架构，首先是一个 API Gateway REST API 和五个 Lambda 函数。

**将 API Gateway 和 Lambda 卡片添加到画布中**

在 “**资源**” 选项板的 “**增强组件**” 部分下，执行以下操作：

1. 将 **API Gateway** 卡片拖到画布上。

1. 将 **Lambda 函数**卡片拖到画布上。重复此操作，直到在画布上添加了五张 **Lambda 函数**卡。

![\[基础设施编排器画布视图，包含一个 API Gateway 和五张 Lambda 函数卡。\]](http://docs.aws.amazon.com/zh_cn/infrastructure-composer/latest/dg/images/aac_t2_02.png)


## 第 3 步：配置你的 API Gateway REST API
<a name="getting-started-build-rest"></a>

接下来，在您的 API Gateway 卡片中添加五条路由。

**向 API Gateway 卡片添加路由**

1. 打开 **API Gateway** 卡片的**资源属性**面板。要打开面板，请双击卡片。或者，选择卡片，然后选择 “**详细信息**”。

1. 在 “**资源属性**” 面板的 “**路由**” 下，执行以下操作：
**注意**  
对于以下每条路由，请使用[资源属性参考表](#getting-started-build-reference)中指定的 HTTP 方法和路径值。

   1. 在 “**方法**” 中，选择指定的 HTTP 方法。例如，**GET**。

   1. 在**路径**中，输入指定的路径。例如 **/items**。

   1. 选择 **Add route**（添加路由）。

   1. 重复前面的步骤，直到添加完所有五条指定路线。

1. 选择**保存**。

![\[基础设施编排器可视化画布，其中包含包含五条路径的 API Gateway 资源。Resource properties面板显示 “方法”、“路径” 和 “添加路径” 的选项。\]](http://docs.aws.amazon.com/zh_cn/infrastructure-composer/latest/dg/images/aac_t2_03.png)


## 第 4 步：配置您的 Lambda 函数
<a name="getting-started-build-functions"></a>

按照[资源属性参考](#getting-started-build-reference)表中的规定，分别命名五个 Lambda 函数。

**命名 Lambda 函数**

1. 打开 **Lambda 函数**卡片的**资源属性**面板。要打开面板，请双击卡片。或者，选择卡片，然后选择 “**详细信息**”。

1. 在**资源属性**面板中，为**逻辑 ID** 输入指定的函数名称。例如 **getItems**。

1. 选择**保存**。

1. 重复前面的步骤，直到命名完所有五个函数。

![\[基础设施编排器可视化画布，包含五张命名的 Lambda 函数资源卡。\]](http://docs.aws.amazon.com/zh_cn/infrastructure-composer/latest/dg/images/aac_t2_04.png)


## 第 5 步：Connect 你的卡片
<a name="getting-started-build-connect"></a>

按照[资源属性参考](#getting-started-build-reference)表中的指定，将 **API Gatew** ay 卡上的每条路由连接到其相关的 **Lambda 函数**卡。

**连接您的卡片**

1. 单击 **API Gateway** 卡上的右侧端口，然后将其拖到指定 **Lambda 函数**卡的左侧端口。例如，单击 GE **T /item** s 端口并将其拖到 **get** Items 的左侧端口。

1. 重复上一步操作，直到将 **API Gat** eway 卡上的所有五条路由都连接到相应的 **Lambda 函数**卡。

![\[带有 REST API 的基础设施编排器可视化画布连接到五个 Lambda 函数。\]](http://docs.aws.amazon.com/zh_cn/infrastructure-composer/latest/dg/images/aac_t2_05.png)


## 第 6 步：整理画布
<a name="getting-started-build-organize"></a>

通过将您的 Lambda 函数组合在一起并整理所有卡片来整理视觉画布。

**将您的函数组合在一起**

1. 按住 **Shift** 键，然后选择画布上的每张 **Lambda 功能**卡。

1. 选择**分组**。

**为你的群组命名**

1. 双击群组顶部，靠近群组名称（**群组**）。

   群**组属性**面板打开。

1. 在 “**群组属性**” 面板上，在 “**群组名称**” 栏中输入**API**。

1. 选择**保存**。

**整理你的卡片**

在画布上，在主视图区域上方，选择**排列**。

Infrastructure Composer 排列和对齐视觉画布上的所有卡片，包括你的新群组 (**API**)，如下所示：

![\[基础设施编排器可视化画布将所有 Lambda 函数组合在一起。\]](http://docs.aws.amazon.com/zh_cn/infrastructure-composer/latest/dg/images/aac_t2_06.png)


## 步骤 7：添加并连接 DynamoDB 表
<a name="getting-started-build-table"></a>

现在，向您的应用程序架构中添加一个 DynamoDB 表，并将其连接到您的 Lambda 函数。

**添加和连接 DynamoDB 表**

1. 从资源选项板（**资源**）的 “**增强组件**” 部分下，将 D **ynamoDB** 表格卡片拖到画布上。

1. **单击 **Lambda Func** tion 卡上的右侧端口，然后将其拖到 DynamoDB 表卡的左侧端口。**

1. **重复上一步操作，直到将所有五张 **Lambda 功能卡都连接到 Dynam** oDB 桌卡。**

1. **（可选）要重新整理和重新对齐画布上的卡片，请选择 “排列”。**

![\[alt text not found\]](http://docs.aws.amazon.com/zh_cn/infrastructure-composer/latest/dg/images/aac_t2_07.png)


## 第 8 步：查看您的 AWS CloudFormation 模板
<a name="getting-started-build-template"></a>

恭喜您！您已成功设计出可随时部署的无服务器应用程序。最后，选择 “**模板**”，查看基础架构编排器自动为您生成的 AWS CloudFormation 模板。

在模板中，基础设施编排器定义了以下内容：
+ `Transform`声明，它将模板指定为 AWS Serverless Application Model (AWS SAM) 模板。有关更多信息，请参阅《*AWS Serverless Application Model 开发人员指南》*中的[AWS SAM 模板剖析](https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-specification-template-anatomy.html)。
+ 一种`AWS::Serverless::Api`资源，它指定你的 API Gateway REST API 及其五条路由。
+ 五个`AWS::Serverless::Function`资源，用于指定您的 Lambda 函数的配置，包括其环境变量和权限策略。
+ 一种`AWS::DynamoDB::Table`资源，用于指定您的 DynamoDB 表及其属性。
+ 该`Metadata`部分包含有关您的资源组 (**API**) 的信息。有关本节的更多信息，请参阅《*AWS CloudFormation 用户指南*》中的[元数据](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html)。

![\[显示应用程序模板代码的 “基础设施编排器” 模板视图。\]](http://docs.aws.amazon.com/zh_cn/infrastructure-composer/latest/dg/images/aac_t2_08.png)


## 第 9 步：集成到您的开发工作流程中
<a name="getting-started-build-integrate"></a>

使用 Infrastructure Composer 创建的模板文件和项目目录进行进一步的测试和部署。
+ 通过**本地同步**，您可以将 Infrastructure Composer 连接到本地计算机上的 IDE 以加快开发速度。要了解更多信息，请参阅[将基础架构编排控制台与本地 IDE 连接起来](other-services-ide.md)。
+ 通过**本地同步**，您可以使用本地计算机上的 AWS Serverless Application Model 命令行界面 (AWS SAM CLI) 来测试和部署应用程序。要了解更多信息，请参阅[将您的基础架构 Composer 无服务器应用程序部署到云端 AWS](other-services-cfn.md)。

## 后续步骤
<a name="getting-started-build-next"></a>

现在，您已经准备好使用基础架构编排器构建自己的应用程序了。有关使用基础架构编排器的详细资料，请参阅[如何作曲 AWS 基础架构编辑器](using-composer-basics.md)。准备好部署应用程序时，请参阅[将您的基础架构 Composer 无服务器应用程序部署到云端 AWS](other-services-cfn.md)。