【发布时间】:2023-01-31 19:21:14
【问题描述】:
我正在尝试创建一个 lambda 函数,一旦将文件夹上传到 S3 存储桶,该函数就会被触发。但是 lambda 将执行将文件保存回同一文件夹的操作,如果没有自调用功能,我怎么能这样做呢?
我想将以下文件夹结构上传到存储桶:
项目_0001/输入/输入.csv
输出将创建并保存在:
Project_0001/output/outputs.csv
但是,我的项目编号会改变,所以我不能简单地分配一个静态前缀。有没有办法动态更改前缀,例如:
项目_*/输入/
【问题讨论】:
-
1)您可以使用S3对象元数据(用户定义)添加一个名为“Seen”的键,将其设置为“Seen”:“True”。如果对象上不存在元数据键,则不会对其进行处理,您可以继续 lambda 调用并在将对象放入 S3 期间设置此元数据,否则返回。 2) 您可以使用后缀而不是前缀,调用您的文件
fileName_processed.csv和fileName_unprocessed.csv只为_unprocessed.csv添加触发器。 3)你可以在lambda函数运行时动态检查前缀,类似于#1,如果已经处理过则提前返回
标签: amazon-s3 aws-lambda