当前位置: 首页 > news >正文

用Amazon Q Developer助力Python快捷软件开发

用Amazon Q Developer助力Python快捷软件开发

Assist and Advance Python Software Development with Amazon Q Developer

By Jackson@ML

1. 注册AWS账户

打开Chrome浏览器,访问AWS亚马逊云科技官网链接:https://aws.amazon.com/cn/, 主页面如下图所示。

在这里插入图片描述

使用AWS任何产品服务,均需要先行一步注册AWS账户。

关于AWS账户注册过程,请参看文章:2025AWS亚马逊云科技账户注册指南,, 本文不再赘述。

2. 注册IAM用户并分配权限

AWS官网注册完账户即产生了管理员权限,该账户称作根用户(Root User)。为了控制访问资源和安全保障,强烈建议创建IAM用户来分配可访问资源到用户。

关于访问权限管理,请参看文章:AWS身份验证和访问管理(IAM) 。本文不再赘述。

3. 安装VS Code最新版

访问微软开发的Visual Studio Code官网链接:https://code.visualstudio.com/,打开Web主页面如下图。

在这里插入图片描述
点击页面中央Download for macOS即可下载该软件。

关于安装使用最新版Visual Studio Code,请参看文章:2025最新版Visual Studio Code for Mac安装使用指南, 本文不再赘述。

4. 安装Extensions

打开VS Code的Marketplace,在搜索栏中,输入关键字查找Amazon Q, AWS以便安装以下Extensions:

  • AWS Toolkit
  • Amazon Q Developer

搜索到并且安装完毕这些Extensions(扩展)后,可以看到它们具备卸载(uninstall)和重新启动功能,如下图。

4.1 AWS Toolkit安装

在这里插入图片描述

4.2 Amazon Q Developer安装

在这里插入图片描述

5. 登录Amazon Q Developer

  • 使用AWS账户登录VS Code中的Q Developer;
  • 长期不使用,再次使用须重新登录并重新鉴权(re-authentication),于是重定向到AWS验证Web页面。
    在这里插入图片描述

6. 用Amazon Q Developer快速开发应用程序

已经安装好的VS Code集成开发环境,需要手动启动Amazon Q Developer。

在这里插入图片描述
我们注意到,在VS Code下方状态栏里,已经出现 Amazon Q的图标字样,证明该程序的Extension已安装并且已启动。

由于Amazon Q位于VS Code左侧,用鼠标点击选择Q的prompt选项,并将Turn ON Agentic Coding开关打开,如下图。

在这里插入图片描述

示例一:创建Python函数已返回两个数字除法结果

在该对话框输入编程求助提示词,

How can I create a Python function to calculate the result of multiplication between two numbers?

如下图。
在这里插入图片描述
按Enter键,在2-3秒思考后,Amazon Q立刻做出反应。

在这里插入图片描述
可以看到,Amazon Q对用户的诉求“创建两个数字的除法函数”简明扼要的返回结果,即如下所示:

def multiply(a, b):return a * b
示例二:用Amazon Q创建一个lambda函数来处理SQS队列

输入prompts:

How do I create a Python lambda function to process messages from an sqs queue?

于是,Q做出了快速响应,如下图。

在这里插入图片描述

示例三:创建一个类,用于管理学生的学习、报告和考试。
class Student:def __init__(self, name):self.name = nameself.knowledge = 0self.exams_passed = 0def learn(self, subject):self.knowledge += 1print(f"{self.name} learned {subject}")def report(self):return f"{self.name}: Knowledge={self.knowledge}, Exams passed={self.exams_passed}"def pass_exam(self, exam_name):self.exams_passed += 1print(f"{self.name} passed {exam_name}")

在下方Usage(用例)中,增加代码:

student = Student("Alice")
student.learn("Math")
student.pass_exam("Algebra Test")
print(student.report())  # Alice: Knowledge=1, Exams passed=1

7. 使用Amazon Q Developer的开发代理

在prompt对话框中,输入/弹出选项菜单,选择/dev即可增加开发代理,来协助产生复杂代码,满足用户需求。

在这里插入图片描述

8. 大模型过载警告

⚠️ 一旦输入的prompt使得大模型(例如:Claude Sonnet 4)无法进行处理,则弹出警告,如下图。

在这里插入图片描述

证明该模型不可用(Model Unavailable)!此时不要惊慌,可以调整变换到可用的大模型,例如:启用Claude Sonnet 3.7即可。

同样输入prompt,则会得到如下结果。

  • 创建了一个名为hotel-manager.py的代码文件;
  • 回答了用户基本问题,如下图:

9. 示例代码

产生了hotel_manager.py程序文件,可以从VS Code打开查看代码是否正确,如下所示。

class HotelManager:def __init__(self):self.rooms = {}  # room_number: {"guest": name, "checked_in": datetime}self.available_rooms = set(range(100, 120))  # Rooms 100-119def check_in(self, guest_name, room_number=None):"""Check in a guest to a specific room or any available room"""if room_number and room_number not in self.available_rooms:return f"Room {room_number} is not available"# Assign first available room if none specifiedif not room_number:if not self.available_rooms:return "No rooms available"room_number = min(self.available_rooms)# Process check-inself.rooms[room_number] = {"guest": guest_name}self.available_rooms.remove(room_number)return f"{guest_name} checked into room {room_number}"def check_out(self, room_number):"""Check out a guest from a room"""if room_number not in self.rooms:return f"Room {room_number} is not occupied"guest = self.rooms[room_number]["guest"]del self.rooms[room_number]self.available_rooms.add(room_number)return f"{guest} checked out from room {room_number}"def get_guest_info(self, room_number):"""Get information about who is in a specific room"""if room_number in self.rooms:return f"Room {room_number} is occupied by {self.rooms[room_number]['guest']}"return f"Room {room_number} is vacant"def list_available_rooms(self):"""List all available rooms"""return sorted(list(self.available_rooms))# Example usage
if __name__ == "__main__":hotel = HotelManager()print(hotel.check_in("John Smith"))print(hotel.check_in("Jane Doe", 105))print(hotel.get_guest_info(100))print(hotel.get_guest_info(105))print(hotel.check_out(100))print(hotel.list_available_rooms())

成功完成了低代码开发!

接下来要根据客户需求,认真进行测试并且发现代码错误甚至是不完善的地方进行修改完善。

最后,程序代码才能够交付使用。


AWS开发技术好文陆续推出。敬请关注、收藏和点赞👍!

您的认可,我的动力!😃

推荐阅读:

  1. 【AWS入门】IAM多重身份验证(MFA)简介
  2. 【AWS入门】身份验证和访问管理(IAM)
  3. 【AWS入门】Amazon SageMaker简介
  4. 【AWS入门】Amazon Bedrock简介
  5. 【AWS入门】Amazon Q Developer简介
  6. 【AWS入门】AWS Lambda应用简介
  7. 【AWS入门】Amazon Nova简介
  8. 【AWS入门】Amazon S3简介
  9. 【AWS入门】Amazon EC2简介
  10. 【AWS入门】AWS云计算简介
  11. 【AWS入门】创建并使用AWS Builder ID
  12. 【AWS入门】AWS亚马逊云科技账户注册指南
  13. 【AWS入门】获取并安装AWS CLI应用程序
http://www.lryc.cn/news/590486.html

相关文章:

  • nextjs+react项目如何代理本地请求解决跨域
  • LiFePO4电池的安全详解
  • 从缓存 CAS 看Kimi K2使用的MuonClip优化器
  • 工业网络协议桥接设计指南:从LIN到CAN/RS-232的毫秒级互通方案
  • DNS防护实战:用ipset自动拦截异常解析与群联AI云防护集成
  • 深入核心:理解Spring Boot的三大基石:起步依赖、自动配置与内嵌容器
  • Spring Boot 源码解析之 Logging
  • 阿里云 RabbitMQ 可观测性最佳实践
  • 神经网络常见激活函数 13-Softplus函数
  • 卷积神经网络-卷积的分类
  • 【芯片设计中的WDT IP:守护系统安全的电子警犬】
  • Spring-AI系列-AI模型API
  • 如何使用 OpenCV 打开指定摄像头
  • 【Excel】使用vlookup函数快速找出两列数据的差异项
  • OpenCV稠密光流估计的一个类cv::optflow::DenseRLOFOpticalFlow
  • 03_opencv_imwrite()函数
  • 利用Java自定义格式,循环导出数据、图片到excel
  • 使用Python清理Excel中的空行和单元格内部空行:初学者指南
  • 预训练模型:大规模数据预学习范式——定义、原理与演进逻辑
  • 从 CSV文件的加载、分区和处理 来理解 Spark RDD
  • 基于迁移学习的培养基配方开发方法
  • 向量数据库Faiss vs Qdrant全面对比
  • 【Java入门到精通】(五)初识MySql数据库
  • Datawhale AI夏令营-基于带货视频评论的用户洞察挑战赛使用bert提升效果
  • MyBatis详解以及在IDEA中的开发
  • AJ Security:实用的 Java Web 安全库
  • 小白成长之路-Elasticsearch 7.0 配置
  • 创建linux端口映射连接小网
  • ASP.NET Core Hosting Bundle
  • spring容器的bean是单例还是多例的?线程安全吗?