## 前言
亚马逊云科技- 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 登录账户
#### []()[]()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】](https://us-east-1.console.aws.amazon.com/iam/home?region=us-east-1#/home?trk=cndc-detail)中的用户我们发现,默认用户拒绝访问(可能是测试号的问题,新账号应该没有用户)

手动创建一个用户: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 测试表达能力
```
Q1:你是谁?你会中文吗?
```

##### 5.2.2 代码理解编写能力
```
Q2:请写一个冒泡排序用python
```

##### 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

### 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 [项目开发](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)

#### 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 的回答
```
current_value = self.Text1Var.get()
print(current_value)
```

#### 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...")
```

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

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