【亚马逊云科技】使用 Vscode Amazon-Q 完成 GUI 界面粉笔脚本开发

re:Invent
Amazon Identity and Access Management(IAM)
Amazon CodeCatalyst (Preview)
Amazon Q
0
0
## 前言 亚马逊云科技- Q ,可以快速获得紧迫问题的相关答案,解决问题,生成内容。当与 Q 聊天时,它会提供[即时的](https://so.csdn.net/so/search?q=%E5%8D%B3%E6%97%B6%E7%9A%84&spm=1001.2101.3001.7020?trk=cndc-detail)相关信息和建议,以帮助简化任务、加快决策速度,并帮助激发工作中的创造力和创新。本次我们通过完整的项目开发全方面体验一下 Q 的实用性,体验在代码开发中是否真正做到解放生产力助力开发。 **结合 Q 开发的粉笔脚本演示图:** ![1.png](https://dev-media.amazoncloud.cn/8c49de39b9094c90b5a04413e32bc323_1.png "1.png") ### 1 登录账户 #### []()[]()1.1 登录及注册 打开下面的登录页进行登录,如果没有账号可以根据流程进行注册\ <https://portal.aws.amazon.com/billing/signup?trk=cndc-detail> ![2.png](https://dev-media.amazoncloud.cn/59d7cc5d16e340f58b061b04b8293bab_2.png "2.png") ![3.png](https://dev-media.amazoncloud.cn/d0c381c6667b43e296e1cc9c394deb6d_3.png "3.png") #### 1.2 打开控制台主页 登录完成后,打开控制台主页链接:<https://us-east-1.console.aws.amazon.com/console/home?region=us-east-1#?trk=cndc-detail> ![4.png](https://dev-media.amazoncloud.cn/03efa7413cd746bfbd772e1e337acdcf_4.png "4.png") 找到【亚马逊 Q 】,点击进去到对应页面 ![5.png](https://dev-media.amazoncloud.cn/47fb2d5cb31a4abcb25ac5cbbd83401d_5.png "5.png") ### 2 创建部署 Web 版- Q `提示:【2023.12.06】这里存在问题,并没有相应的权限,没办法继续往下,后续可以则会补充,本文只是按照博主的操作流程来,请根据需要选择性浏览` #### []()[]()2.1 创建应用 点击 `Get started` 前往应用创建页面 ![6.png](https://dev-media.amazoncloud.cn/44882f651d2f4c0aa15e2d0267284bf3_6.png "6.png") 这个时候发现没有对应的权限,我们需要去角色中将对应的策略附加给当前账户 ![7.png](https://dev-media.amazoncloud.cn/4ad3f9a271fb48ba90c0e2d172429432_7.png "7.png") ![8.png](https://dev-media.amazoncloud.cn/d4f3ebea46c7428681e3975f3db04f70_8.png "8.png") ### 3 附加策略 在左上角服务中,找到【 IAM 】(该步骤下面创建用户也需要用,方法一样不做赘述) ![9.png](https://dev-media.amazoncloud.cn/d37fc2d866f047cabd01d23d88a8d405_9.png "9.png") 在左侧导航栏中,选择【角色】 ![10.png](https://dev-media.amazoncloud.cn/2b00fea9df4d46ed85ae1967b5a246fe_10.png "10.png") 在搜索框中搜索`team`,点击角色名称进入 ![11.png](https://dev-media.amazoncloud.cn/9b8ee40710664d4ea30abf76f88925a0_11.png "11.png") 选择`附加策略` ![12.png](https://dev-media.amazoncloud.cn/2f14846cc5ed487e8c468db9c48d70f8_12.png "12.png") 勾选以下权限: ![13.png](https://dev-media.amazoncloud.cn/68c8710bec5645a1983513838b7cd8af_13.png "13.png,14.png") ![14.png](https://dev-media.amazoncloud.cn/33625e6bdb1a481f85b15af3bcb46c3a_14.png "14.png") #### 3.1 创建用户及应用 添加权限以后,就可以来这里创建应用了 ![15.png](https://dev-media.amazoncloud.cn/c870993ae1b44edbbd24e04441c3405f_15.png "15.png") 创建用户显示失败,估计是账户问题,`目前等待反馈中` ![16.png](https://dev-media.amazoncloud.cn/899e376f91f441dcace4d3491ffb4356_16.png "16.png") ### 4 获取 IAM 访问密钥 > 目前通过 WEB 体验 Q 是不可能了,所以我们现在可以通过 Vscode 插件来进行体验,这一步,主要是为了下方的插件提供密钥 打开[【IAM】](https://us-east-1.console.aws.amazon.com/iam/home?region=us-east-1#/home?trk=cndc-detail)中的用户我们发现,默认用户拒绝访问(可能是测试号的问题,新账号应该没有用户) ![17.png](https://dev-media.amazoncloud.cn/2de4cd213848463988b3de61698ea733_17.png "17.png") 手动创建一个用户:damowang(如下图) ![18.png](https://dev-media.amazoncloud.cn/569d1d9bb2794243b9742114d8a25539_18.png "18.png") 创建成功,现在继续往下,给他附加权限 ![19.png](https://dev-media.amazoncloud.cn/b57e186fcdb4488ab1ea6a1a61880f67_19.png "19.png") 权限参照上方`附加权限`最好给【 Administrator 】权限,完成创建 ![20.png](https://dev-media.amazoncloud.cn/26c0e54bda364e569cb41b00beff1650_20.png "20.png") 权限参照上方`附加权限`最好给【 Administrator 】权限,完成创建 ![21.png](https://dev-media.amazoncloud.cn/69267d56b5f847528a6dfddd4f380173_21.png "21.png") ![22.png](https://dev-media.amazoncloud.cn/7a468a1c044e497aa310284556007547_22.png "22.png") 保存后获得`Access Key`和`Secret Key` ![23.png](https://dev-media.amazoncloud.cn/23fa9af215214e3bb06f01e3a72d1ca2_23.png "23.png") ### 5 配置 Vscode-Q 插件 在 Vscode 中下载 Q 插件 ![24.png](https://dev-media.amazoncloud.cn/df5bff5e563f43d99cef13262752dc53_24.png "24.png") #### 5.1 权限配置 ##### []()[]()5.1.1 配置 Q + CodeWhisperer ![25.png](https://dev-media.amazoncloud.cn/01ee6e25925f44edb3b8dc4dbfe04413_25.png "25.png") 通过 Builder ID 进行登录身份验证 ![26.png](https://dev-media.amazoncloud.cn/1f0abf5e994b4531a0dc6d1e31cdab2f_26.png "26.png") 弹出提示框,选择`open`,这时会跳出默认浏览器打开进行权限验证 ![27.png](https://dev-media.amazoncloud.cn/db781f3d699f4c57bdb9790d36e06642_27.png "27.png") ![28.png](https://dev-media.amazoncloud.cn/93bb59f9cfde46d7bad2aadc71f5473e_28.png "28.png") 创建开发者 ID 账户,填入你的邮箱地址,直到注册成功(`如果有账号选择登录即可`) ![29.png](https://dev-media.amazoncloud.cn/82054385f9704f8d914fdd6b149f0644_29.png "29.png") 注册成功后,他会重定向页面授权,如果没有请重新按步骤来,点击允许授权 ![30.png](https://dev-media.amazoncloud.cn/15b32c9861704e6ab2ae9ca6309ccfc1_30.png "30.png") 授权成功后,我们可以返回 Vscode 去了 ![31.png](https://dev-media.amazoncloud.cn/4678cd8e7387411c8e92f9483b6c4121_31.png "31.png") `返回Vscode后验证通过`配置完成 ![32.png](https://dev-media.amazoncloud.cn/ec9512e20c114e64b2f29dd3ea7d71f8_32.png "32.png") #### 5.1.2 配置 Explorer 选择中间第二个模块,展开选项填入 Access Key 、 Secret Key ,分别填入刚刚创建的密钥 ![33.png](https://dev-media.amazoncloud.cn/c403ff8b864a4b2092ccc1a2eb4ee5e5_33.png "33.png") 保存配置成功 ![34.png](https://dev-media.amazoncloud.cn/bebfab96a0cf45c89def09f11c141647_34.png "34.png") ##### 5.1.3 Amazon CodeCatalyst 与第一步骤一样,打开进行授权即可 ![35.png](https://dev-media.amazoncloud.cn/a7132cb429bf42289e148ce7157ebf76_35.png "35.png") #### 5.2 与 Q 完成对话体验 这里分为三个部分 ![36.png](https://dev-media.amazoncloud.cn/bd86dc92dc834768b0d312c6d503a98d_36.png "36.png") 点击第一个部分的【 switch to Q chat 】,就可以开始和他对话了 ![37.png](https://dev-media.amazoncloud.cn/5cbf3dd414984ed9b7dab98a4eb45c40_37.png "37.png") ##### 5.2.1 测试表达能力 ``` Q1:你是谁?你会中文吗? ``` ![38.png](https://dev-media.amazoncloud.cn/11563f5558814104941d9d9101ceec43_38.png "38.png") ##### 5.2.2 代码理解编写能力 ``` Q2:请写一个冒泡排序用python ``` ![39.png](https://dev-media.amazoncloud.cn/b651b39f29044bd898af674d704e2b46_39.png "39.png") ##### 5.2.3 代码修复能力 ``` url ="https://sxbaapp.zcj.jyt.henan.gov.cn/api/getApitoken.ashx" response = requests.get(url) print(response.text) ``` 报错信息:Traceback (most recent call last): File “C:\Users\MAC\Desktop\zxjy\demo.py”, line 2, in response = requests.get(url) NameError: name ‘requests’ is not defined ![40.png](https://dev-media.amazoncloud.cn/5ada8fd5125b43b09275b4da535f4462_40.png "40.png") ### 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 安装程序。 ![41.png](https://dev-media.amazoncloud.cn/0e43a74f27b4460d82806458beb66fc9_41.png "41.png") ![42.png](https://dev-media.amazoncloud.cn/e0972073910f46c9a719e8ce0f32fd81_42.png "42.png") ### 7 [项目开发](https://so.csdn.net/so/search?q=%E9%A1%B9%E7%9B%AE%E5%BC%80%E5%8F%91\\&spm=1001.2101.3001.7020?trk=cndc-detail) #### []()[]()7.1 新建 GUI 视图 在 VB6 里面新建一个视图,通过插件将视图转换为 TK 代码,不清楚 tk 、打包的同学,这里可以参考之前的文章[《 Python tkinter 快速可视化开发 GUI 界面指南:详细教程(附带工具)》](https://taila.blog.csdn.net/article/details/123788316?trk=cndc-detail) ![43.png](https://dev-media.amazoncloud.cn/3dcbd7a9c66c4f94ab40ebb7a347c046_43.png "43.png") #### 7.2 代码转换 通过插件我们可以快速将视图转换为 TK 代码 ![44.png](https://dev-media.amazoncloud.cn/b95868faa6b74e6da82a676a893d7773_44.png "44.png") 插件的使用步骤很简单,三步即可完成 ![45.png](https://dev-media.amazoncloud.cn/3bf4751a3a2f4fa09f067f5e5ee6aeb9_45.png "45.png") #### 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 的回答 ``` current_value = self.Text1Var.get() print(current_value) ``` ![46.png](https://dev-media.amazoncloud.cn/438605b784da4b5ab3adbf5f8ba16619_46.png "46.png") #### 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 的回答 通过实践,在进行函数触发后,自动分配创建一个线程来进行调用,对此我们可以再加一个开关,可以关闭结束进程循环执行 ``` from threading import Thread def Command7_Cmd(): thread = Thread(target=long_running_task) thread.start() def long_running_task(): # put button click logic here print("Performing task in background...") ``` ![47.png](https://dev-media.amazoncloud.cn/4e943516e6a64365852f6c0980053ce6_47.png "47.png") 通过获取文本框的数值,再通过 request 接口请求模拟,Q 可以帮助我们免去测试,节约了很多时间,加速了开发进度,由于后面的按钮部分都是线程和数据获取,核心功能就是 Q 给的线程,其他操作都是一样的,只需要替换成不同的接口即可,其他部分代码就不做演示了 ### 8 使用心得感受 #### 8.1 优缺点 ![屏幕截图 2023-12-26 011503.png](https://dev-media.amazoncloud.cn/5cbf90dba4544a27894fda0ba28fb814_%E5%B1%8F%E5%B9%95%E6%88%AA%E5%9B%BE%202023-12-26%20011503.png "屏幕截图 2023-12-26 011503.png") #### 8.2 对亚马逊云科技- Q 的理解和见解 亚马逊云计算与人工智能的结合在当今科技领域具有重要意义,对未来云端技术发展趋势有深远的影响。为人工智能提供了强大的基础设施支持,通过提供灵活的计算资源、存储和数据库服务,使开发者能够更轻松地构建、训练和部署 AI 模型。 *针对Q而言,希望能在处理复杂问题、语言识别、代码逻辑处理、优化算法和加密等方面发挥关键作用再升级,为人工智能领域带来新的突破。在实际使用过程中,由于语言的限制,以及 Q 功能的一些原因,体验没有超出我的预期*。亚马逊云计算与人工智能的结合将在未来继续推动科技创新,为各行业提供更强大、高效的解决方案。
0
目录
关闭