

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

# 使用 Amazon Q 开发者实现 AWS 服务自动化 Console-to-Code
<a name="console-to-code"></a>

## 什么是 Console-to-Code？
<a name="console-to-code-what-is"></a>

Console-to-Code 是 Amazon Q Developer 的一项功能，可以帮助您编写代码以自动使用其他 AWS 服务。 Console-to-Code记录您的控制台操作，然后使用生成式 AI 以您的首选语言和格式建议等效的 AWS CLI 命令和代码。

### 服务套餐
<a name="console-to-code-tiers"></a>

由于 Console-to-Code是 Amazon Q Developer 的一员，因此您对它的使用受到 Amazon Q 开发者的服务等级的限制。
+ 在免费套餐中，您可以记录控制台操作并根据这些操作生成 CLI 命令的次数没有固定的每月限制。但是， AWS CloudFormation 根据您记录的操作，您每月可以生成与 AWS CDK 或一起使用的代码的次数是有限制的。

  要访问免费套餐，请登录 AWS 管理控制台。达到每月代码生成限制后，您必须完成专业套餐的身份验证才能生成更多代码。
+ 在 Pro 级别，您每月可以为 AWS CDK 或生成代码的次数没有固定的限制 CloudFormation。

  要访问专业套餐，您必须是在 IAM Identity Center 注册的用户，并且您的 IAM Identity Center 身份必须订阅 Amazon Q 开发者版专业套餐。有关更多信息，请参阅[进行 Amazon Q 开发者版专业套餐订阅身份验证](q-on-aws.md#qdevpro-authentication)或联系您的 AWS 管理员。

有关定价套餐的更多信息，请访问 [Amazon Q 开发者版定价页面](https://aws.amazon.com/q/developer/pricing/)。

**注意**  
在您记录操作时，您仍会被收取相关操作本身的费用（如适用）。例如，如果您记录自己预置了一个 Amazon EC2 实例，那么您仍需要为该实例付费。记录操作没有额外成本。

### 支持的代码格式
<a name="console-to-code-supported-formats"></a>

Console-to-Code 目前可以用以下语言和格式生成 infrastructure-as-code (IaC)：
+ CDK Java
+ CDK Python
+ CDK TypeScript
+ CloudFormation json
+ CloudFormation YAML

## 你可以在哪里使用 Console-to-Code？
<a name="console-to-code-where-use"></a>

### Console-to-Code跨多个服务使用
<a name="console-to-code-where-use-across-services"></a>

Console-to-Code 可在多个服务上运行，只要您的浏览器选项卡处于打开状态，它就会保存自己的状态。

例如，您可以记录自己在 Web 服务器的完整设置过程中的操作：
+ 在 Amazon VPC 控制台中，您可以配置两个子网（一个公有子网和一个私有子网）、安全组 NACLs、一个自定义路由表和一个 Internet 网关。
+ 在 Amazon EC2 控制台中，您可以预置 Amazon EC2 实例，并将其放入公有子网中。
+ 在 Amazon RDS 控制台中，您可以预置 Amazon RDS 数据库实例，并将其放入私有子网中。

即使您在控制台的不同部分执行操作并且它们使用不同的 AWS 服务， Console-to-Code也可以将它们包含在单个录制文件中。

### AWS 支持的服务 Console-to-Code
<a name="console-to-code-services-that-support"></a>

目前 Console-to-Code，可以记录您在使用 AWS 管理控制台和以下服务时的操作：
+ Amazon DynamoDB
+ AWS IoT
+ Amazon Cognito
+ Amazon EC2
+ Amazon VPC
+ Amazon RDS

## 授予使用权限 Console-to-Code
<a name="console-to-code-permissions"></a>

要使用 Console-to-Code，需要以下权限：
+ `q:GenerateCodeFromCommands`要使用 Console-to-Code。有关授予所需权限的示例 IAM 策略，请参阅 [允许用户使用 Amazon Q 并基于 CLI 命令生成代码](id-based-policy-examples-users.md#id-based-policy-examples-allow-console-to-code)。
+ 用于执行您要记录的操作的权限。

## 使用 Console-to-Code
<a name="console-to-code-using"></a>

使用 Console-to-Code包括三个步骤。

### 步骤 1：开始记录
<a name="console-to-code-using-step-1"></a>

要开始录制 Console-to-Code，请按以下步骤操作。

1. 进入其中一项集成服务（Amazon VPC、Amazon RDS 或 Amazon EC2）的控制台。

1. 在浏览器窗口的右边缘，选择图 Console-to-Code标：![\[The console-to-code icon.\]](http://docs.aws.amazon.com/zh_cn/amazonq/latest/qdeveloper-ug/images/c2c-icon.png)

1. 在 Console-to-Code侧面板中，选择 “**开始录制**”。

### 步骤 2：执行操作
<a name="console-to-code-using-step-2"></a>

在任何集成服务的控制台中，继续执行要记录的任何操作。

 Console-to-Code侧面板保持其自身状态。您可以在集成服务的控制台之间移动，创建一个涉及多个服务的操作的记录。

 Console-to-Code侧面板将保留您的操作，直到您的 Console-to-Code会话结束。当您关闭浏览器选项卡或会话结束时（以先到者为准）， AWS 管理控制台 会话将结束。

完成要转换为代码的操作后，请从 Console-to-Code面板顶部选择 “**停止**”。

### 步骤 3：收集 CLI 命令并生成代码
<a name="console-to-code-using-step-3"></a>

您可以按照步骤 3a 或步骤 3b 进行操作。

#### 步骤 3a：收集 CLI 命令
<a name="console-to-code-using-step-3a"></a>

 Console-to-Code要使用根据您的操作生成 CLI 命令，请按以下步骤操作。

1. 在 Console-to-Code面板中，查看您录制的操作。

   您可以使用 Console-to-Code面板顶部的下拉列表、搜索框或筛选控件筛选录制的动作。

1. 请执行以下操作之一：
   + 要复制单个 CLI 命令，请选择命令左侧的复制按钮。
   + 要在中运行单个 CLI 命令 AWS CloudShell，请选择命令左侧的 CloudShell图标![\[The console-to-code icon.\]](http://docs.aws.amazon.com/zh_cn/amazonq/latest/qdeveloper-ug/images/cloudshell-icon.png)。这将打开 CloudShell并使用准备好执行的 CLI 命令填充它。
   + 要查看或运行一组 CLI 命令，请选择命令并选择 **Copy CLI** 以复制所有选定的命令，或者选择 “**运行 CLI**” 将其打开 CloudShell 并填充所有命令。

要了解有关... 的更多信息 AWS CLI，请参阅[什么是 AWS Command Line Interface？](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-welcome.html) 在《*AWS Command Line Interface 用户指南》中。*

#### 步骤 3b：生成代码
<a name="console-to-code-using-step-3b"></a>

1. 在 Console-to-Code面板中，查看您录制的操作。您可以使用 Console-to-Code面板顶部的下拉列表、搜索框或筛选控件筛选录制的动作。

1. 选择要转换为代码的操作。只有带复选框的操作会在以下步骤中使用。

1. 指明要生成的代码类型。从 Console-to-Code面板右下角的反向下拉菜单中，选择要生成的代码的语言和（如果适用）格式。

1. 选择**生成所选语言**。

   将显示生成的代码以及等效的 CLI 命令。