如何解决Python:使用AWS Lambda中的电子邮件模块反序列化multipart / form-data
我有一个简单的表单,包含三个文本字段和一个文件字段,这些字段过帐到API网关端点。该端点已将multipart / form-data启用为二进制编码类型,并充当Lambda代理。
在我的Lambda中,我尝试按以下方式分析多部分表单数据:
SqlCommand
发布到我的端点后,我的CloudWatch日志显示第一个打印语句显示内容类型为import base64
import email
import json
from email import policy
def lambda_handler(event,context):
form_data = base64.b64decode(event["body"])
msg = email.message_from_bytes(form_data,policy=policy.default)
for part in msg.walk():
print(part.get_content_type())
print({part.get_param('name',header='content-disposition'): part.get_payload(decode=True)})
print(msg.keys())
print(msg.values())
,第二个打印语句显示以下输出:
text/plain
{None: b'-----------------------------1416323234921165113570841793\r\nContent-Disposition: form-data; name="name"\r\n\r\ntest\r\n-----------------------------1416323234921165113570841793\r\nContent-Disposition: form-data; name="description"\r\n\r\ntest\r\n-----------------------------1416323234921165113570841793\r\nContent-Disposition: form-data; name="version"\r\n\r\ntest\r\n-----------------------------1416323234921165113570841793\r\nContent-Disposition: form-data; name="code"; filename="example.tif"\r\nContent-Type: image/tiff\r\n\r\nII*\x00\x08\x00\x00\x00\x0f\x00\x00\x01\x04\x00\x01\x00\x00\x00\x19\x00\x00\x00\x01\x01\x04\x00\x01\x00\x00\x00\x19\x00\x00\x00\x02\x01\x03\x00\x01\x00\x00\x00\x08\x00\x00\x00\x03\x01\x03\x00\x01\x00\x00\x00\x01\x00\x00\x00\x06\x01\x03\x00\x01\x00\x00\x00\x01\x00\x00\x00\x0e\x01\x02\x00\x18\x00\x00\x00\xc2\x00\x00\x00\x11\x01\x04\x00\x01\x00\x00\x00@\x01\x00\x00\x15\x01\x03\x00\x01\x00\x00\x00\x01\x00\x00\x00\x16\x01\x04\x00\x01\x00\x00\x00\x19\x00\x00\x00\x17\x01\x04\x00\x01\x00\x00\x00q\x02\x00\x00\x1a\x01\x05\x00\x01\x00\x00\x00\x1a\x01\x00\x00\x1b\x01\x05\x00\x01\x00\x00\x00"\x01\x00\x00(\x01\x03\x00\x01\x00\x00\x00\x01\x00\x00\x001\x01\x02\x00\x0c\x00\x00\x00*\x01\x00\x00S\x01\x03\x00\x01\x00\x00\x00\x02\x00\x00\x00\xaa\x19\x00\x00{"shape": [10,25,25]}\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x01\x00\x00\x00\x01\x00\x00\x00\x01\x00\x00\x00tifffile.py\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x02\x00\x00\x00\x02\x02\x01\x00\x00\x04\x04\x04\x03\x02\x00\x01\x02\x01\x00\x03\x01\x03\x03\x03\x00\x03\x01\x03\x01\x02\x02\x03\x04\x04\x00\x03\x01\x03\x02\x02\x00\x02\x02\x01\x01\x03\x00\x01\x04\x04\x03\x00\x00\x02\x04\x02\x01\x00\x00\x04\x04\x02\x03\x00\x03\x01\x02\x01\x00\x00\x03\x02\x03\x03\x00\x00\x01\x03\x02\x00\x03\x03\x03\x03\x03\x01\x03\x00\x00\x02\x02\x03\x03\x01\x00\x02\x01\x04\x02\x00\x03\x03\x01\x00\x00\x04\x00\x02\x04\x01\x02\x02\x03\x03\x04\x03\x00\x03\x02\x00\x04\x02\x03\x04\x04\x02\x00\x03\x03\x01\x01\x00\x01\x00\x02\x04\x02\x02\x02\x04\x01\x00\x01\x00\x04\x03\x03\x03\x03\x02\x01\x01\x04\x02\x03\x01\x03\x01\x02\x01\x00\x03\x04\x02\x04\x01\x04\x00\x02\x02\x04\x01\x02\x03\x04\x02\x01\x03\x03\x04\x04\x01\x03\x03\x00\x00\x03\x00\x01\x02\x00\x01\x00\x01\x02\x00\x04\x01\x01\x04\x00\x01\x01\x01\x03\x01\x01\x04\x03\x00\x02\x03\x01\x04\x02\x02\x00\x03\x02\x04\x01\x04\x03\x03\x01\x03\x00\x04\x02\x02\x03\x01\x00\x04\x02\x01\x00\x03\x01\x03\x03\x00\x03\x04\x01\x01\x00\x00\x02\x03\x02\x01\x01\x00\x03\x03\x00\x03\x03\x03\x04\x00\x00\x01\x03\x04\x00\x03\x04\x02\x02\x00\x04\x03\x01\x02\x00\x03\x00\x03\x01\x04\x00\x03\x03\x03\x01\x01\x01\x03\x01\x01\x02\x04\x03\x02\x03\x03\x01\x01\x02\x02\x03\x02\x03\x00\x02\x02\x04\x00\x02\x04\x01\x01\x00\x00\x04\x00\x04\x04\x04\x01\x01\x02\x02\x02\x02\x01\x04\x03\x00\x00\x01\x04\x00\x02\x00\x01\x00\x03\x04\x03\x02\x00\x01\x03\x00\x00\x02\x00\x00\x04\x02\x02\x03\x04\x03\x00\x00\x02\x03\x04\x03\x03\x02\x03\x01\x02\x01\x00\x04\x00\x04\x00\x00\x01\x00\x02\x02\x01\x04\x01\x04\x03\x00\x03\x02\x00\x01\x03\x02\x03\x01\x04\x00\x00\x04\x04\x00\x02\x02\x04\x02\x04\x03\x02\x02\x01\x03\x04\x02\x00\x02\x04\x02\x01\x01\x03\x01\x00\x02\x02\x03\x00\x02\x02\x03\x03\x04\x02\x02\x00\x00\x04\x01\x02\x03\x04\x03\x02\x02\x04\x03\x04\x02\x02\x03\x02\x03\x04\x01\x04\x02\x01\x01\x02\x00\x00\x03\x01\x04\x02\x01\x04\x00\x00\x01\x04\x04\x01\x00\x02\x02\x01\x03\x01\x02\x03\x03\x03\x02\x00\x03\x00\x01\x03\x03\x01\x04\x03\x04\x01\x01\x00\x01\x00\x02\x04\x00\x01\x02\x02\x04\x00\x00\x02\x03\x01\x02\x03\x04\x02\x02\x01\x04\x01\x04\x01\x02\x04\x01\x01\x01\x02\x04\x00\x04\x00\x00\x03\x02\x04\x02\x01\x03\x03\x01\x01\x04\x04\x01\x01\x02\x01\x00\x04\x02\x03\x03\x01\x04\x02\x02\x04\x02\x01\x02\x03\x02\x02\x00\x04\x02\x03\x00\x02\x02\x03\x01\x00\x01\x03\x02\x04\x00\x02\x00\x00\x01\x02\x01\x04\x04\x03\x04\x04\x00\x01\x03\x01\x04\x02\x03\x00\x02\x00\x00\x00\x02\x03\x00\x00\x04\x03\x01\x00\x03\x02\x01\x01\x04\x04\x01\x02\x04\x01\x03\x00\x02\x03\x00\x00\x03\x01\x02\x04\x01\x04\x00\x04\x01\x03\x01\x01\x03\x00\x03\x01\x02\x00\x00\x00\x00\x03\x01\x04\x03\x04\x02\x04\x04\x00\x01\x03\x04\x03\x02\x04\x04\x02\x03\x04\x03\x02\x02\x04\x01\x01\x03\x03\x04\x03\x03\x03\x00\x02\x00\x00\x02\x01\x04\x03\x03\x01\x02\x01\x02\x00\x00\x04\x01\x03\x02\x02\x02\x01\x03\x03\x02\x01\x03\x04\x00\x01\x04\x02\x03\x04\x02\x02\x04\x00\x01\x02\x00\x04\x03\x03\x02\x00\x04\x03\x00\x03\x03\x04\x03\x01\x01\x02\x02\x00\x00\x00\x01\x00\x00\x02\x03\x00\x00\x02\x03\x00\x03\x02\x01\x00\x00\x02\x04\x01\x02\x00\x04\x00\x04\x01\x01\x01\x00\x00\x02\x02\x01\x04\x01\x01\x02\x01\x02\x02\x00\x03\x04\x00\x04\x01\x00\x02\x01\x02\x01\x02\x03\x03\x00\x01\x02\x01\x02\x01\x04\x03\x04\x02\x03\x01\x01\x00\x01\x00\x02\x01\x04\x03\x02\x01\x04\x02\x01\x03\x02\x00\x00\x01\x04\x03\x03\x01\x04\x00\x04\x01\x00\x02\x03\x03\x02\x03\x00\x04\x04\x04\x03\x03\x03\x03\x04\x03\x01\x03\x02\x03\x00\x02\x01\x01\x00\x02\x02\x01\x01\x03\x04\x04\x01\x03\x00\x01\x00\x01\x01\x01\x01\x03\x00\x01\x03\x02\x01\x00\x03\x02\x02\x00\x01\x04\x01\x02\x01\x00\x04\x03\x04\x03\x00\x01\x04\x04\x00\x03\x04\x02\x02\x03\x00\x00\x02\x00
... truncated for post length limit...
\x00\x00(\x01\x03\x00\x01\x00\x00\x00\x01\x00\x00\x00S\x01\x03\x00\x01\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x01\x00\x00\x00\x01\x00\x00\x00\x01\x00\x00\x00\r\n-----------------------------1416323234921165113570841793--\r\n'}
和msg.keys()
都产生空列表。因此,看来message.values()
反序列化无法正常工作。我不确定如何调试或修复此问题;任何帮助表示赞赏!
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。