Recap Series
- 第 02 场:使用 Terraform 实现 AWS 合规
- 第 03 场:从新手到构建者:一段精彩的云上之旅
- 第 04 场:团队优先的无服务器工程:Laravel 与 Bref
- 第 05 场:活动开场:AWS Community Day Hong Kong 2025
- 第 06 场:Agent-to-Agent:在 AWS 上构建可互操作的 AI
- 第 07 场:利用另一类遥测数据,借助 AI Agent 更快改进
- 第 08 场:告别氛围编程:使用 Kiro 进行规范驱动开发
- 第 09 场:使用 MCP 与 AI 智能体进行自动化测试
- 第 10 场:电信安全现代化:机器学习驱动的方法
- 第 11 场:重新思考生成式 AI 智能体:RAG 与 MCP
- 第 12 场:使用 TAK 与 AWS 开展灾难与应急响应
- 第 13 场:从测试视角重新思考无服务器应用程序工作流
- 第 14 场:实用 AWS FinOps,助力云上成功
录像
https://www.youtube.com/watch?v=Rs0yu_fEgFQ
个人背景
- 分享了自己的 AWS 之旅:
- 2023 年起步,此前对云计算一无所知。
- 加入 AWS User Group Philippines,并成为 AWS Creatives 团队的一员。
- 使用 AWS 部署服务、运行代码和构建项目。
- 在 6 个月内成为云顾问、AWS User Group Philippines 社区负责人、AWS Community Builder,并获得 AWS Certified Cloud Practitioner 认证。
AWS User Group Philippines
- 介绍了自己担任聚会负责人的工作:
- 每月免费举办研讨会和网络研讨会,面向学生、转行人士和年轻专业人士。
- 举办各类活动,促进学习和社区交流。
成为 AWS Community Builder
- 分享了个人经历:
- 从 UI/UX 设计领域转向 AWS,当时没有技术背景。
- 通过社区资源了解并学习 AWS。
- 在 6 个月内撰写了一篇介绍如何使用 AWS 创建不同应用程序的文章,并申请成为 AWS Community Builder。
资源与协作
- [ 1 ] 鼓励参会者提供反馈并参与协作:
- 邀请参会者填写反馈表。
- 提供 Tutorials Dojo 的 AWS 考前模拟考试二维码。
- [ 2 ] 提供免费的模拟考试资源:
- 宣布参会者将获得一张 Tutorials Dojo 免费模拟考试兑换券。
- 旨在帮助参会者备考 AWS Certified Cloud Practitioner 或 SAA 考试。
总结
- 希望参会者能从本次分享中获益,并充分利用所提供的资源。
- 鼓励大家继续参与 AWS 社区并开展协作。
使用 AWS Lambda 和 CORS 创建 Python 代码练习场
目标
- 创建一个 Python 代码练习场,让用户能够通过 Web 界面执行 Python 代码。
架构
- 前端:运行在 Amazon EC2 上的网站。
- 后端:用于执行 Python 代码的 AWS Lambda 函数。
创建 Python 代码练习场的步骤
[ 1 ] 创建 AWS Lambda 函数
- 前往 AWS 管理控制台。
- 进入 Lambda,然后单击“创建函数”。
- 选择“从头开始创作”。
- 为函数命名(例如 UG_HK_PythonCodePlayground)。
- 选择 Python 作为运行时。
- 创建一个具有基本 Lambda 权限的新执行角色。
[ 2 ] 配置支持 CORS 的函数 URL
- 在 Lambda 函数配置中,进入“函数 URL”。
- 启用函数 URL。
- 添加以下标头来配置 CORS:
- 公开标头:Content-Type
- 允许标头:Content-Type
- 也可设置用于缓存的 Max Age。
[ 3 ] 编写并部署 Lambda 函数代码
- 在 Lambda 函数编辑器中编写 Python 代码。
- 保存并部署函数。
[ 4 ] 创建前端(HTML 文件)
- 打开 Visual Studio Code。
- 为前端创建一个 HTML 文件。
- 从 Lambda 配置中复制函数 URL。
- 在 HTML 文件中使用该函数 URL 发起请求并执行 Lambda 函数。
[ 5 ] 测试配置
- 确保 CORS 配置正确,使前端能够与 Lambda 函数通信。
- 执行测试,通过 Web 界面运行 Python 代码。
要点
- CORS 配置:前端要与 Lambda 函数通信,此项配置必不可少。
- 函数 URL:为 Lambda 函数提供直接的 HTTP(S) 端点。
- 测试:确认 Python 代码能够正确执行,并且前端可以获取结果。
总结
- Python 代码练习场让用户能够通过 Web 界面执行 Python 代码,其中后端使用 AWS Lambda,前端使用 Amazon EC2。
问题排查步骤
[ 1 ] HTTP 错误
- 运行代码时遇到 HTTP 错误。
- 查看浏览器开发者工具中的“网络”选项卡以确定问题。
[ 2 ] CORS 配置错误
- 发现
Access-Control-Allow-Origin
标头被设置为 false
- 确保正确设置“允许源”标头,从而修正 CORS 配置。
[ 3 ] 验证 CORS 配置
- 使用浏览器开发者工具检查网络请求。
- 观察到两类请求:
- 预检请求:浏览器向服务器确认是否允许跨源请求。
- 实际请求(PATCH):预检请求确认 CORS 设置正确后,从服务器检索数据。
[ 4 ] 最终测试
- 更正 CORS 配置后再次运行代码。
- 确认 Python 代码执行成功,并且前端获取到了结果。
总结
- Python 代码练习场现已支持用户通过 Web 界面执行 Python 代码,其中后端使用 AWS Lambda,前端使用 Amazon EC2。
- 正确配置 CORS 是前端与 Lambda 函数通信的关键。
Python 代码练习场回顾
- 演示了如何使用带有函数 URL 的 AWS Lambda 创建 Python 代码练习场。
- 配置 CORS,使不同网站都能访问 Lambda 函数,且不会出现跨源问题。
- 确保浏览器允许不同源之间必要的请求和响应。
- 强调了 CORS 设置对于 Lambda 资源与外部网站进行安全通信的重要性。
