我想使用lambda
从dynamodb
获取数据库,并将计算数据生成到cvs
文件。
然后将此文件附加电子邮件发送给客户。
步骤
从dynamodb获取数据。 (我知道怎么做。)
写入.CSV文件(需要帮助)。
因为lambda没有持久数据。如何写入文件
答案 0 :(得分:3)
您是否有现有的发送电子邮件设置?发送电子邮件时,您不一定需要保存文件来创建文件附件。
只需忽略下面的响应中的fs.readFile语句
答案 1 :(得分:2)
如果您正在编写CSV,则可能需要将数据流式传输到S3。 Lambda有一个非常好的例子here用于从缓冲区流式传输图像数据。显然你没有使用图像,但概念大致相同。
我使用mandrill(https://mandrillapp.com/api/docs/messages.html),因为它是 free ,简单而且棒极了。您可以将附件内容设置为base64。你的看起来可能是这样的:
"attachments": [
{
"type": "text/csv",
"name": "myfile.csv",
"content": new Buffer( myCsvContent ).toString('base64')
}
]
我没有对此进行测试,但最近做了类似的事情,这种一般方法应该适合你。