【发布时间】:2019-07-12 05:57:15
【问题描述】:
我的任务是发送带有多个附件的电子邮件。 S3 存储桶大约会同时接收 2 个文件。
通过使用 S3 bucket Put 事件,我可以使用 lambda + SES 发送带有单个附件的电子邮件。
现在的任务是这样的,
我在 S3 中获得 2 个文件,例如“XXXYYYZZZ”和“XXXYYYZZZ.20190712111820”。
两个文件的前缀相同,第二个文件的名称带有时间戳 (20190712111820)
这里我需要发送带有以上 2 个文件作为附件的单个电子邮件。
如何实现呢?我可以理解 Put Event 将适用于在 S3 中创建的每个新文件。
【问题讨论】:
-
您是在问如何在电子邮件中添加 2 个附件,或者如何处理 lambda 被每个文件触发而您不知道当时两者是否存在的情况?
-
感谢@giaco 的回复我们可以使用多个 MIME 发送多封电子邮件。但是情况就像我需要选择 2 个文件并发送单个电子邮件.. 我可以理解使用事件触发器是不可能的.. 无论如何?
-
这些文件的顺序是否总是相同的?
-
是的,它会以相同的顺序出现
-
如果它们总是以相同的顺序出现,您可以过滤从 S3 接收到的事件。例如:如果您以后总是得到一个带有后缀的文件,那么您可以使用正则表达式检查文件是否有后缀(而来自 S3 的事件包含 S3 上的文件键)。如果有,则下载带后缀的文件和不带后缀的文件(您有密钥,只需删除后缀)并将它们添加为附件。
标签: amazon-web-services amazon-s3 aws-lambda amazon-ses