你在伊凯贾的家里正忙着工作,突然"NEPA"断电了。是你的街道?整个小区?还是整个地方政府区域都停电了?你翻看WhatsApp群组,满屏都是抱怨,但没人知道答案。你打给EKEDC客服,无人接听。只能干等着,不知道30分钟后来电,还是要熬上3天。
这是数百万尼日利亚人的日常。一位开发者决定用AWS社区建设者发放的500美元额度来解决这个问题。
![]()
他搭建了一套无服务器架构的众包停电追踪与预警系统,完全基于AWS,使用SAM(无服务器应用模型)部署。没有EC2实例,没有需要管理的服务器,无需打补丁,AWS包办所有基础设施。
用户提交报告的流程很简单:发送包含地方政府区域、州名、停电类型和备注的JSON数据,系统返回确认信息和报告ID。后台采用DynamoDB存储,主键设计为"PK: LGA#伊凯贾"分组同区域报告,"SK: REPORT#时间戳"按时间排序,这样查询特定区域特定时段的报告只需单次快速查询,无需全表扫描。
部署过程出乎意料地快。开发者原以为上云会很复杂耗时,但用SAM执行sam build && sam deploy后,CloudFormation在3分钟内就 spinning up 完整基础设施:Lambda函数、API网关、DynamoDB表、IAM角色、DynamoDB流。
第一次用curl命令向API发送测试请求,收到成功响应时,他"真的不敢相信这么快"。一个真实可用的API,运行在AWS上,接收着真实的尼日利亚停电报告。
最大的难点在于理解每个Lambda函数都必须在SAM模板中定义。这位有DevOps背景而非软件开发出身的开发者,起初以为...
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.