亚马逊AWS官方博客

Amazon Q 从入门到精通 – 入门配置篇

Amazon Q Developer 是亚马逊云科技推出的一款专为专业开发人员设计的人工智能助手,旨在提升代码开发和管理的效率。其主要功能包括代码生成、调试、故障排除、安全漏洞扫描等,提供一站式的代码服务。

主要功能

  • 代码生成与建议:支持多种编程语言(如 Python、Java、C# 等)的代码生成,并能根据开发者提供的代码给出优化建议。根据报告,开发者接受了约 50% 的代码建议来自 Amazon Q Developer。
  • 智能 AI 代理:内置的 AI 代理功能可以自动执行大部分编程任务,无需人工干预。例如,亚马逊的一个团队利用该功能在短短两天内将 1000 多个应用程序从 Java8 自动升级到 Java17,传统方法可能需要几个月。
  • 安全漏洞扫描:能够快速扫描代码,查找潜在的安全漏洞,并提供相应的修复建议,从而提高应用程序的安全性和质量。
  • AWS 环境优化:帮助开发者优化 AWS 云环境,诊断并解决错误和网络问题,选择合适的实例类型,以及分析账单信息和趋势。
  • 自然语言交互:开发者可以通过自然语言与 Amazon Q Developer 进行对话,询问有关 AWS 架构、资源及最佳实践的问题。该助手会根据上下文提供相关和可操作的答案。

使用场景

Amazon Q Developer 可以在多种环境中使用:

  • 集成开发环境(IDE):如 Visual Studio Code 和 JetBrains IDEs,通过安装扩展来访问 Amazon Q 的功能。
  • AWS 管理控制台:用户可以在 AWS 控制台中通过聊天界面与 Amazon Q 互动,获取实时帮助。
  • 命令行界面:支持在 macOS 的命令行中直接使用。

免费试用

Amazon Q Developer 为了让用户更好的体验 AI Coding 的乐趣,提供了免费试用的版本,使用方法如下。

申请构建者 ID(Builder ID)

AWS 构建者 ID 是一种个人配置文件,提供对特定工具和服务(包括 AmazonCodeCatalyst、AmazonQDeveloper 以及 AWS 培训和认证)的访问权限。AWS 构建者 ID 代表您是一个个体,独立于您在现有 AWS 账户中可能拥有的任何凭证和数据。与其他个人配置文件一样,在您实现个人、教育和职业目标的过程中,AWS 构建者 ID 会一直跟随着您。AWS 构建者 ID 是对您已有或想要创建 AWS 账户的补充。虽然 AWS 账户可用作创建的 AWS 资源的容器,并能为这些资源提供安全边界,但 AWS 构建者 ID 将代表您是一个个体。有关更多信息,请参阅 AWS 构建者 ID 和其他 AWS 凭证。AWS 构建者 ID 是免费的。您只需为自己在 AWS 账户中使用的 AWS 资源付费。

详细步骤

浏览器导航到 AWS 构建者 ID 配置页面,输入注册邮箱,点击“Next”,如下图所示。

继续在页面中输入名字,如下图所示。

点击“Next”,进入邮件验证码输入界面,如下图所示。

在注册邮箱里获取验证码后,点击“Verify Code”来进行验证,如下图所示。

输入两遍密码,和人机交互验证码后,点击“Create AWS Builder ID”,完成 AWS Builder ID 的创建。

安装和配置 Amazon Q Developer for VSCode

安装 Amazon Q 插件,启动 VSCode。

选择 Plugins -> 搜索 Amazon Q -> Install 完成 Amazon Q 插件的安装。安装成功后,Amazon Q 的登录界面会如下图显示。

单击“Use for free”按钮,点击“Continue”按钮进行登录,如下图所示。分别在连续的两个页面里输入注册 Builder ID 的邮箱,和对应的密码和验证码进行登录。

登录成功后,浏览器将切换到授权页面。

点击“Allow access”,浏览器将显示成功授权给 VSCode 的信息。

同时,VSCode 界面切换到就绪状态,恭喜,Amazon Q for VSCode 插件的安装已经成功完成。

安装和配置 Amazon Q Developer for IntelliJ IDEA

安装 Amazon Q 插件,打开 IntelliJ IDEA -> Settings。

选择 Plugins -> 搜索 Amazon Q -> Install -> OK-> Restart IDE 完成 Amazon Q 插件的安装。

IDEA IDE 重启后,会在右侧看到 Amazon Q 的控制面板,如下图所示。

单击“Use for free”按钮,点击“Continue”按钮进行登录,如下图所示。

在弹出的浏览器页面中,使用前面创建的 AWS Builder ID(注册邮箱,和密码)进行登录。

登录成功后,浏览器切换到授权页面。

点击“Allow access”,浏览器显示成功授权给 IntelliJ IDEA。

同时,IDEA 界面切换到就绪状态。恭喜,Amazon Q for IntelliJ IDEA 插件的安装已经成功完成。

免费版本的限制

  • 每月交互次数限制:每月最多 50 次在集成开发环境(IDE)中进行聊天和调试代码的互动。
  • 软件开发代理调用:每月最多 5 次使用 Amazon Q 开发者版代理程序来加速软件开发任务。
  • 代码转换限制:每月最多提交 1000 行代码用于应用程序升级和转换。
  • 安全扫描限制:每月最多进行 50 次安全漏洞扫描以增强代码安全性。
  • AWS 账户查询限制:资源查询:每月最多获取 25 次关于 AWS 账户资源的信息。

Amazon Q 专业版(Pro License)

Amazon Q Developer 提供了专业版,使用方法要复杂一些,会需要您的企业账号管理员的协助,详细步骤如下。

创建和配置组织(Organization)

如下图所示。

创建和配置 IAM Identity Center(SSO)

在 aws 控制台中,搜索 IAM,选择“IAM Identity Center”。

如果没有创建过 IAM Identity Center,会看到下图所示页面,选择合适的 Region 来创建 IAM Identity Center(只能在一个 Region),点击“Enable”。

在 IAM Identity Center 面板,请关注关键信息,“AWS access portal URL”,后续在 AmazonQ Developer 登录时会用到。

在 IAM Identity Center 创建 permission set。

选择 permission type 为 Custom permission set 然后点击 Next 后,选择 inline policy,粘贴下面的配置代码,并保存此 permission set 为“AmazonQFullPermissions”。

{
	"Version": "2012-10-17",
	"Statement": [
		{
			"Effect": "Allow",
			"Action": [
				"q:*"
			],
			"Resource": [
				"*"
			]
		},
		{
			"Effect": "Allow",
			"Action": [
				"ce:GetCostAndUsage"
			],
			"Resource": [
				"*"
			]
		},
		{
			"Effect": "Allow",
			"Action": [
				"sts:setContext"
			],
			"Resource": [
				"arn:aws:sts::*:self"
			]
		}
	]
}

创建一个 user,本例为 qdev1。

创建一个组,本例为 Qdevelopers,把用户 qdev1 加入其中,点“Create group”。

为组 Qdevelopers 分配 aws 账号和 permission set(本例为 AmazonQFullPermissions)。

至此,所有创建 IAM Identity Center 的工作就完成了。

订阅 Amazon Q Developer Pro

服务列表搜索并定位 Amazon Q 服务,如下图所示。

在 Amazon Q 控制台,点击“Subscribe”进行订阅。

为用户分配 IAM Identity Center 中的用户和组,点击“Get Started”。

对本例而言,输入“qdev1”,会看到用户被搜索出来。选中该用户,并点击“Assign”,完成用户订阅。

登录到 Amazon Q Developer Pro for VSCode

在 Amazon Q 面板上,选择“Use with Pro license”,然后点击“Continue”。

在浏览器中完成登录/认证,最终看到 Amazon Q 授权成功页面。

登录到 Amazon Q Developer Pro for IntelliJ IDEA

在 Amazon Q 面板上,选择“Use with Pro license”,然后点击“Continue”。

在浏览器中完成登录/认证,最终看到 Amazon Q 授权成功页面。

最后

本文对 Amazon Q Developer 的安装和使用进行了详细地描述,以方便用户上手使用,AI Coding 的时代已经到来,Enjoy!


*前述特定亚马逊云科技生成式人工智能相关的服务仅在亚马逊云科技海外区域可用,亚马逊云科技中国仅为帮助您了解行业前沿技术和发展海外业务选择推介该服务。

本篇作者

Kelvin Guo

亚马逊云科技资深解决方案架构师。主要技术方向为 MLOps,DevOps,容器,数据分析。20+年软件开发,项目管理,敏捷思想落地,工程效能咨询和落地经验。