Amazon SES:在按日期命名的文件夹中将电子邮件写入 S3?
Amazon SES: write emails to S3 in folders named by date?
我的任务是设置一个管道来将传入的电子邮件(使用 Amazon SES)保存在 S3 存储桶中,按日期分类到文件夹中,例如。 "emails/2020-04-30"、"emails/2019-05-12"等
我现在想到的是首先将电子邮件存储在存储桶中,然后调用 Lambda 函数来检查该日期的文件夹是否存在,必要时创建它并将文件移动到那里。
这似乎是一种相当迂回的方式,所以我想知道是否有更有效的方式来做到这一点。
谢谢!
如果您使用 aws cli 命令将电子邮件上传到特定的 s3 存储桶,您可以使用如下命令简单地检查特定存储桶是否存在:
aws s3 ls s3://emails/2020-04-30
which returns None
如果之前没有创建它的桶。然后您可以继续创建存储桶并上传电子邮件。
编辑:
我看到你更新了你正在使用 SES 的问题。
在这种情况下,我认为以下步骤会有所帮助:
- 使用 SES 中的 S3 操作在 S3 中上传特定存储桶(比如
emails
)中的所有电子邮件。
- 创建 aws - lamda 函数,它接受将文件上传到电子邮件存储桶的事件,并将该文件移动到根据该文件的创建日期命名的特定存储桶。
- 为调用在第二步中创建的 lambda 函数的电子邮件存储桶设置事件通知(触发器)。
希望这能回答您的问题。
作为参考,您可以查看:link to aws cli comamnd
我的任务是设置一个管道来将传入的电子邮件(使用 Amazon SES)保存在 S3 存储桶中,按日期分类到文件夹中,例如。 "emails/2020-04-30"、"emails/2019-05-12"等
我现在想到的是首先将电子邮件存储在存储桶中,然后调用 Lambda 函数来检查该日期的文件夹是否存在,必要时创建它并将文件移动到那里。
这似乎是一种相当迂回的方式,所以我想知道是否有更有效的方式来做到这一点。
谢谢!
如果您使用 aws cli 命令将电子邮件上传到特定的 s3 存储桶,您可以使用如下命令简单地检查特定存储桶是否存在:
aws s3 ls s3://emails/2020-04-30
which returns None
如果之前没有创建它的桶。然后您可以继续创建存储桶并上传电子邮件。
编辑: 我看到你更新了你正在使用 SES 的问题。 在这种情况下,我认为以下步骤会有所帮助:
- 使用 SES 中的 S3 操作在 S3 中上传特定存储桶(比如
emails
)中的所有电子邮件。 - 创建 aws - lamda 函数,它接受将文件上传到电子邮件存储桶的事件,并将该文件移动到根据该文件的创建日期命名的特定存储桶。
- 为调用在第二步中创建的 lambda 函数的电子邮件存储桶设置事件通知(触发器)。
希望这能回答您的问题。
作为参考,您可以查看:link to aws cli comamnd