调用 AWS Lambda 时如何传送字节数组

本文主要验证用 Python 写的 AWS Lambda 与 Java 客户端之间如何双向传递二进制数据,这里不涉及到 Lambda 流输入输出的问题。比如一个 Python AWS Lambda 的处理方法声明是

def lambda_handler(event, context):

pass # or do something

通过我们用 Lambda 调用时会传给 event 一个 JSON 格式的字符串,反应到 AWS Lambda 时 event 就是一个字典。但当要传递二进制数据如何做呢?直觉的做法就是用 base64 编码二进制字节为普通的字符串,比如要节约网络传输的数据量,需要对文本进行压缩,格式可以是这样

{"input": base64Encode(gzipCompress("text content......"))}

然后在 Lambda 端取出 input 的值作相应的 base64 解码再解压缩。

对于大文本,即使是压缩后再编码为 base64 也比直接传送原始文本数据要节约网络带宽。

这种方案实际也是可行的,然而我们在实际使用 Java AWS Lambda SDK 时有些动作会自动帮我们实现的,那就是二进制数据自动 base64 编码。 阅读全文 >>

相关推荐
troy1282 小时前
阿里云 vs 谷歌云:Kubernetes 部署深度对比分析
阿里云·kubernetes·云计算
johnny2334 小时前
AWS系列之Glue
aws
workflower1 天前
世界模型向产业上游发掘的热点
人工智能·机器学习·机器人·云计算·无人机
范桂飓1 天前
AWS Agent Infra 架构分析
java·架构·aws
通信瓦工1 天前
Meta开放式机架V3 BBU/机架结构设计参考
ai·云计算
鹿邑妈糊2 天前
kvm-clock时钟虚拟化原理
云计算
AI Data 搭子2 天前
阿里云发布 Agentic Storage 全矩阵产品:面向 AI 到 Agent 负载的全栈演进
人工智能·阿里云·云计算
johnny2332 天前
本地AWS云栈工具LocalStack:简介、原理、实战
aws
ZhangJun952 天前
Linux常用命令笔记,中高级运维高频指令,并附上vim常见操作
linux·运维·centos·云计算·vim
逐流人2 天前
Ceph对象存储与文件系统存储管理:从RADOS网关、S3与Swift到CephFS快照同步
linux·运维·ceph·云原生·云计算·swift·rados