

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

# AWS Lambda 有 LocalStack 支撑
<a name="lambda-localstack"></a>

在中的 LocalStack 支持下构建、测试和调试您的无服务器应用程序。 AWS Toolkit for Visual Studio Code LocalStack 是一款 AWS 云端仿真器，允许对无服务器应用程序进行本地测试。

有关的其他信息 AWS Lambda，请参阅《[AWS Lambda](https://docs.aws.amazon.com//lambda/latest/dg/welcome.html)*开发人员指南》*。要了解更多信息 LocalStack，请访问他们的网站[LocalStack](https://www.localstack.cloud/)。

## 先决条件
<a name="prereq"></a>

 以下是在 VS Code LocalStack 中使用的先决条件。

**注意**  
 LocalStack CLI 是在安装过程中安装的，但如果您更喜欢其他版本的 LocalStack CLI，则最低要求版本为 *4.8.0*。
+ 需要一个 LocalStack Web 应用程序帐户才能访问免费和付费 LocalStack 套餐的所有可用功能。 LocalStack 社区版无需账号即可使用。
+ 需要 LocalStack 在 VS Code 中使用 Docker。有关 Docker LocalStack 要求的更多信息，请参阅文档中的 LocalStack [Docker 镜像](https://docs.localstack.cloud/aws/capabilities/config/docker-images/)主题。 LocalStack 
+ **推荐：** AWS Command Line Interface (AWS CLI) 可帮助您在模拟云环境中使用服务。

## 正在安装 LocalStack
<a name="install"></a>

 要安装 LocalStack 免费和付费分层版本，请完成以下步骤。

**注意**  
有关如何设置 LocalStack 社区版的说明，请参阅本主题*设置 LocalStack*部分中的*LocalStack社区*内容。

1. 在 AWS 工具包中，展开 “**应用程序生成器**” 资源管理器。

1. 选择**打开演练**按钮，在 VS Code 编辑器中打开**开始构建应用程序**演练选项卡。

1. 在演练中，选择 “**安装**” LocalStack 以启动 VS Code 中的 LocalStack 安装过程。

## 设置 LocalStack
<a name="setup"></a>

安装 VS Code LocalStack 扩展程序后，在需要安装时，您可能会看到以下指示器之一：
+ 默认情况下，在 IDE 左下角的 VS Code 状态栏中， LocalStack 状态为红色。
+ VS Code 会提示你进行设置 LocalStack。

有两种类型的设置和配置 LocalStack，具体取决于 LocalStack 你使用的是哪个版本。以下选项卡部分描述了每个 LocalStack 设置过程。

**注意**  
LocalStack 的免费和付费套餐版本需要身份验证令牌。 LocalStack有关 LocalStack 定价的具体信息，请参阅他们的 [“选择您的套餐](https://www.localstack.cloud/pricing)” 定价指南。

### LocalStack 免费和付费等级
<a name="free-paid"></a>

有两种设置方式 LocalStack。
+ 从 VS Code **安装 LocalStack 到入门**提示中，选择**设置**按钮。
+ 从 VS Code 状态栏中，选择 LocalStack 状态图标** LocalStack 以打开安装程序开始**提示符，然后选择**设置**按钮。

在设置过程中，系统将执行以下步骤：

1. 安装 C LocalStack LI。

1. 检查您是否有 LocalStack 账户。

1. 如果您有 LocalStack 帐户，系统会引导您在默认的 Web 浏览器中完成身份验证过程。同样，如果您没有 LocalStack 帐户，系统会在身份验证过程之前指导您完成帐户设置。

设置完成后 LocalStack ，VS Code LocalStack 状态栏中的状态会更新。

**注意**  
如果您尚未为创建 AWS 配置文件 LocalStack，则在 LocalStack 设置过程中会自动为您创建一个新的配置文件。

### LocalStack 社区
<a name="community"></a>

的 LocalStack 社区版可以免费使用，不需要您注册帐户，它使用不需要许可证的 Docker 镜像运行。有关 LocalStack 社区版的更多详细信息，请参阅[LocalStack 社区图片](https://docs.localstack.cloud/references/docker-images/)文档。以下各节介绍在 VS Code 中使用 LocalStack 社区版所需的先决条件和基本设置。

**启动新实例**

 要启动新的 LocalStack 社区实例，请完成以下步骤。

**注意**  
以下示例在端口 4566 LocalStack 上启动一个容器实例。如果指定不同的端口值，则必须更新在*配置 AWS CLI 和 AWS 工具包*部分的过程中指定的端口值。

1. 从 VS Code 中打开 VS Code 终端（按 **ctrl \$1 `(backtick)**）。

1. 在终端窗口中输入以下内容。

   **Mac：**

   ```
   docker run -d --name localstack_main \
   >> -p 4566:4566 \
   >> -v /var/run/docker.sock:/var/run/docker.sock \
   >> localstack/localstack
   ```

   **Windows：**

   ```
   docker run -d --name localstack_main `
   >> -p 4566:4566 `
   >> -v /var/run/docker.sock:/var/run/docker.sock `
   >> localstack/localstack
   ```

1. 当流程完成后，终端会更新您的 Docker 实例的状态。

的这个容器化实例 LocalStack 允许您访问您在下载过程中指定的 AWS 服务。

**为 LocalStack 和 Docker 配置 CLI。**

 要在 Docker LocalStack 中配置要使用的 AWS CLI 和 AWS Toolkit，请完成以下步骤来设置新的配置文件：

1. 从 VS Code 中打开 VS Code 终端（按 **ctrl \$1 `(backtick)**）。

1. 在终端窗口中输入以下内容。

   ```
   ~/.aws/credentials
   [localstack]
   aws_access_key_id = test
   aws_secret_access_key = test
   ~/.aws/config
   [profile localstack]
   region = us-east-1
   output = json
   endpoint_url = http://localhost:4566 [default localstack endpoint]
   ```

1.  AWS Toolkit 会检测您的 LocalStack 个人资料并更新连接状态菜单。

设置完成后，从状态栏的 LocalStack 配置 AWS 文件部分选择您的个人资料后，您的 LocalStack 资源便会在资源 AWS 管理器中可见。此外，您可以在 VS Code 终端的 “**输出**” 选项卡中查看 LocalStack 日志。

## 从 LocalStack VS 代码开始
<a name="w2aac17c43c17c13"></a>

你可以开始 LocalStack 使用以下任何一种方法：

**LocalStack 从 VS 代码状态栏开始**

1. 在 VS Code 中，导航到状态栏，然后选择 LocalStack “**开始**” 按钮启动 LocalStack。

1. 成功启动后，VS Code 状态栏会 LocalStack 更新。

**LocalStack 从 VS Code **命令面板**开始**

1. 在 VS Code 中，按下 **Cmd \$1 Shift \$1 P**（Mac）或 **Control \$1 Shift \$1 P**（Windows）打开**命令面板**。

1. 在**命令面板**的搜索栏中输入 **Start LocalStack**，并在结果中列表中选择它。

1. 成功启动后，VS Code 状态栏会 LocalStack 更新。

**LocalStack 从 VS Code 终端开始**

1. 从 VS Code 中打开 VS Code 终端（按 **ctrl \$1 `(backtick)**）。

1. 在 VS Code 终端中输入 **localstack start** CLI 命令。

1. 成功启动后，VS Code 状态栏会 LocalStack 更新。

## 构建示例无服务器应用程序
<a name="serverless"></a>

 要开始 LocalStack 在 VS Code 中使用，您需要一个示例无服务器应用程序。如果您的 AWS 账户中已有应用程序，则可以使用将其部署到本地， LocalStack 也可以使用 AWS Serverless Land 创建新应用程序。

如需了解在 AWS Toolkit 中使用 Serverless Land 创建应用程序的更多信息，请参阅本用户指南中的[使用 AWS Serverless Land](https://docs.aws.amazon.com//toolkit-for-vscode/latest/userguide/serverlessland-overview.html) 主题。有关 Serverless Land 的详细信息，请参阅 [Serverless Land](https://serverlessland.com/) Web 应用程序主登录页面。

## 使用测试和调试 Lambda 函数 LocalStack
<a name="test-debug"></a>

在 LocalStack VS Code 扩展中测试和调试 Lambda 函数与使用部署到云端的 AWS 函数类似。主要区别在于，您的 AWS Toolkit 实例必须使用您的 LocalStack 账户进行身份验证才能部署和调试函数 LocalStack。

**注意**  
本节中描述的测试和调试功能不适用于 LocalStack 社区版。  
要 LocalStack 在 VS Code 中使用，请在 AWS 工具包中连接到您的 LocalStack 个人资料。当您的 LocalStack 个人资料处于活动状态时，VS Code 状态栏会显示 **AWS：带复选标记的 profile: localstack（自定义端点）**。

有关在 AWS 工具包中使用 Lambda 函数的详细信息，请参阅本用户指南中的[使用 AWS Lambda 函数](https://docs.aws.amazon.com//toolkit-for-vscode/latest/userguide/remote-lambda.html)主题。