AWS Community Day Hong Kong 2025 Recap

从初学者到构建者:一段精彩的 AWS 云之旅

Recap Series

录像

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 资源与外部网站进行安全通信的重要性。