如何以最简方式将HTTP请求响应存储至S3?求AWS内置替代Lambda方案
仅靠S3无法完成主动抓取HTTP响应并存储的操作
S3只是对象存储服务,没有主动发起外部HTTP请求的能力,必须搭配其他工具或AWS服务,但可以用一些现成的方案,不用自己从零写Lambda:
- AWS Systems Manager Automation 预定义文档:AWS有现成的自动化模板,你可以直接用或者简单修改,通过内置的步骤先调用curl获取HTTP响应,再把内容上传到S3,全程不需要自己编写Lambda代码,只需要配置好参数和权限就行。
- CLI命令直接执行:如果不需要自动触发,直接用一行命令就能搞定:
curl <目标HTTP地址> | aws s3 cp - s3://<你的存储桶>/<要保存的对象路径>。要是需要定时执行,在本地服务器或者EC2上用crontab定时跑这条命令就行,也不用Lambda。 - CloudFront边缘计算(适用于访问触发场景):如果是用户访问你的CloudFront分发时,需要抓取第三方HTTP响应并存到S3,可以用CloudFront Functions或者Lambda@Edge,这两个服务有现成的示例可以参考,能在请求流程里完成抓取和存储操作,不过这是触发式的,不是主动定时去抓。
内容的提问来源于stack exchange,提问作者gkdm
相关产品推荐
相关产品推荐

