我正在使用python 3.7在AWS Lambda中设置一个函数,它不允许我返回字节类型
请注意,这是,而不是API 的问题,我正在直接调用lambda。
错误是: Runtime.MarshalError .不能将JSON序列化
output = BytesIO()
#Code that puts an excel file into output...
return {
'Content-Disposition': 'attachment; filename="export.xlsx"',
'Content-Type': 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet',
'body' : output.getvalue()
}
如果我这样做了:
'body' : str(output.getvalue())
它输出损坏的文件,因为它将b''
添加到字符串中。
如果我这样做了:
'body' : base64.b64encode(output.getvalue()).decode()
它还输出一个损坏的文件,可能是因为它改变了文件的二进制表示形式。
也许我需要上传到S3?但是它不适合我的流,这是一个一次性的文件创建,它将停留在"S3 Limbo“直到TTL
https://stackoverflow.com/questions/57183102
复制相似问题