【亚马逊云科技】使用 Vscode Amazon-Q 完成 GUI 界面粉笔脚本开发
前言
亚马逊云科技- Q ,可以快速获得紧迫问题的相关答案,解决问题,生成内容。当与 Q 聊天时,它会提供即时的相关信息和建议,以帮助简化任务、加快决策速度,并帮助激发工作中的创造力和创新。本次我们通过完整的项目开发全方面体验一下 Q 的实用性,体验在代码开发中是否真正做到解放生产力助力开发。
亚马逊云科技开发者社区为开发者们提供全球的开发技术资源。这里有技术文档、开发案例、技术专栏、培训视频、活动与竞赛等。帮助中国开发者对接世界最前沿技术,观点,和项目,并将中国优秀开发者或技术推荐给全球云社区。如果你还没有关注/收藏,看到这里请一定不要匆匆划过,点这里让它成为你的技术宝库!
结合 Q 开发的粉笔脚本演示图:

1 登录账户
1.1 登录及注册
打开下面的登录页进行登录,如果没有账号可以根据流程进行注册
https://portal.aws.amazon.com/billing/signup?trk=cndc-detail


1.2 打开控制台主页
登录完成后,打开控制台主页链接:https://us-east-1.console.aws.amazon.com/console/home?region=us-east-1#?trk=cndc-detail

找到【亚马逊 Q 】,点击进去到对应页面

2 创建部署 Web 版- Q
提示:【2023.12.06】这里存在问题,并没有相应的权限,没办法继续往下,后续可以则会补充,本文只是按照博主的操作流程来,请根据需要选择性浏览
2.1 创建应用
点击 Get started
前往应用创建页面

这个时候发现没有对应的权限,我们需要去角色中将对应的策略附加给当前账户


3 附加策略
在左上角服务中,找到【 IAM 】(该步骤下面创建用户也需要用,方法一样不做赘述)

在左侧导航栏中,选择【角色】

在搜索框中搜索team
,点击角色名称进入

选择附加策略

勾选以下权限:


3.1 创建用户及应用
添加权限以后,就可以来这里创建应用了

创建用户显示失败,估计是账户问题,目前等待反馈中

4 获取 IAM 访问密钥
目前通过 WEB 体验 Q 是不可能了,所以我们现在可以通过 Vscode 插件来进行体验,这一步,主要是为了下方的插件提供密钥
打开【IAM】中的用户我们发现,默认用户拒绝访问(可能是测试号的问题,新账号应该没有用户)

手动创建一个用户:damowang(如下图)

创建成功,现在继续往下,给他附加权限

权限参照上方附加权限
最好给【 Administrator 】权限,完成创建

权限参照上方附加权限
最好给【 Administrator 】权限,完成创建


保存后获得Access Key
和Secret Key

5 配置 Vscode-Q 插件
在 Vscode 中下载 Q 插件

5.1 权限配置
5.1.1 配置 Q + CodeWhisperer

通过 Builder ID 进行登录身份验证

弹出提示框,选择open
,这时会跳出默认浏览器打开进行权限验证


创建开发者 ID 账户,填入你的邮箱地址,直到注册成功(如果有账号选择登录即可
)

注册成功后,他会重定向页面授权,如果没有请重新按步骤来,点击允许授权

授权成功后,我们可以返回 Vscode 去了

返回Vscode后验证通过
配置完成

5.1.2 配置 Explorer
选择中间第二个模块,展开选项填入 Access Key 、 Secret Key ,分别填入刚刚创建的密钥

保存配置成功

5.1.3 Amazon CodeCatalyst
与第一步骤一样,打开进行授权即可

5.2 与 Q 完成对话体验
这里分为三个部分

点击第一个部分的【 switch to Q chat 】,就可以开始和他对话了

5.2.1 测试表达能力

5.2.2 代码理解编写能力

5.2.3 代码修复能力
报错信息:Traceback (most recent call last):File “C:\Users\MAC\Desktop\zxjy\demo.py”, line 2, inresponse = requests.get(url)NameError: name ‘requests’ is not defined

6 本地访问
6.1 Windows 安装 Amazon CLI
下载并运行适用于 Windows(64 位)的 Amazon CLI MSI 安装程序:
https://awscli.amazonaws.com/AWSCLIV2.msi?trk=cndc-detail
Alternatively, you can run the msiexec command to run the MSI installer.
或者,您可以运行该 msiexec 命令来运行 MSI 安装程序。


7 项目开发
7.1 新建 GUI 视图
在 VB6 里面新建一个视图,通过插件将视图转换为 TK 代码,不清楚 tk 、打包的同学,这里可以参考之前的文章《 Python tkinter 快速可视化开发 GUI 界面指南:详细教程(附带工具)》

7.2 代码转换
通过插件我们可以快速将视图转换为 TK 代码

插件的使用步骤很简单,三步即可完成

7.3 获取文本框数据
接下来我们通过视图层,让 Q 结合为我们写一个获取视图层 Text1Var 的数据值的方法
self.Text1Var = StringVar(value=‘********’)self.Text1 = Entry(self.top, textvariable=self.Text1Var, font=(‘宋体’,9))self.Text1.place(relx=0.568, rely=0.018, relwidth=0.243, relheight=0.055)我想通过 python 获取到 Text1Var 的数据
Q 的回答

7.4 设置多线程
在脚本中涉及到挂机自动化的操作,于是我们需要通过线程来进行处理,避免脚本出现卡顿的情况
self.style.configure(‘TCommand7.TButton’, font=(‘宋体’,9))self.Command7 = Button(self.Frame3, text=‘一键挂机’, command=self.Command7_Cmd, style=‘TCommand7.TButton’)self.Command7.place(relx=0.646, rely=0.79, relwidth=0.3, relheight=0.176)将这个代码点击调用的 Command7_Cmd 方法写成多线程的形式
Q 的回答通过实践,在进行函数触发后,自动分配创建一个线程来进行调用,对此我们可以再加一个开关,可以关闭结束进程循环执行

通过获取文本框的数值,再通过 request 接口请求模拟,Q 可以帮助我们免去测试,节约了很多时间,加速了开发进度,由于后面的按钮部分都是线程和数据获取,核心功能就是 Q 给的线程,其他操作都是一样的,只需要替换成不同的接口即可,其他部分代码就不做演示了
8 使用心得感受
8.1 优缺点

8.2 对亚马逊云科技- Q 的理解和见解
亚马逊云计算与人工智能的结合在当今科技领域具有重要意义,对未来云端技术发展趋势有深远的影响。为人工智能提供了强大的基础设施支持,通过提供灵活的计算资源、存储和数据库服务,使开发者能够更轻松地构建、训练和部署 AI 模型。
针对 Q 而言,希望能在处理复杂问题、语言识别、代码逻辑处理、优化算法和加密等方面发挥关键作用再升级,为人工智能领域带来新的突破。在实际使用过程中,由于语言的限制,以及 Q 功能的一些原因,体验没有超出我的预期。亚马逊云计算与人工智能的结合将在未来继续推动科技创新,为各行业提供更强大、高效的解决方案。
评论