amazon-web-services - CloudFormation 脚本从 API Gateway 和 Lambda 返回二进制文件
问题描述
StackOverflow 上已经有很多关于从 API Gateway 和 Lambda 返回二进制内容的信息,但在详细的有保证的工作解决方案方面却很少。在追逐我的尾巴几天之后,我很想停止尝试解决这个问题!
我所追求的是创建 API 网关和 Lambda 的 CloudFormation 脚本。对 API Gateway 上资源的 GET 调用应返回由 Lambda 创建的二进制 PNG。Lambda 代码应内联在 CloudFormation 脚本中,以便解决方案是独立的。我的建议是 Lambda 总是返回一个 PNG(一个 12x12 像素的向下箭头),其 base 64 编码为:
iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAMAAABhq6zVAAAABlBMVEX///8AAABVwtN+AAAAF0lEQVQImWNgoAJghABkHrIcskpSjAUABSYAEabdEBsAAAAASUVORK5CYII=
请注意,我有一个有效的 CloudFormation 脚本,用于通过 API Gateway 和 Lambda 使用 HTTP 重定向从 S3 返回二进制文件,但我更愿意直接执行此操作,而不需要将二进制文件写入 S3 的开销。
CloudFormation 脚本将对这个问题做出巨大贡献,因为它易于部署和验证,并且可以轻松修改,以便开发人员可以快速生成生产就绪的基础架构即代码工件。
对此非常贪婪,我希望看到这样的常见问题由一个活跃的 AWS 开发团队解决并公开发布(比如在AWS Samples上)。
提前致谢!
解决方案
推荐阅读
- c++ - 错误 C4700:使用了未初始化的局部变量“结果”
- javascript - 带有来自 ajax 的数据的可缩放图表
- ios - 无法从父 ViewController 在 UITableViewCell 中设置变量
- cocos2d-iphone - cocos如何处理触摸事件?
- python - 将输入更改为大写字母数字的代码
- swift - 使用 swift 忽略 FirebaseDB 中的记录
- angular - ngx-bootstrap 模态删除正文滚动
- angular - 当出现任何代码更改时如何自动编译 Angular 5 应用程序
- plot - seaborn中的堆叠计数图
- ckeditor - CKEditor 无法在 Chrome 中呈现