【发布时间】:2020-02-05 20:31:02
【问题描述】:
我必须打开我上传到 S3 的三个不同 CSV 文件并执行一些逻辑。
位置:my-bucket/config/
文件名:Employee.csv、Organisation.csv、Expenses.csv
我正在尝试使用 python 纠正 lambda 函数,以便在上传任何这些文件时触发我的 lambda 函数,然后通过上传文件的名称,我应该能够识别必须编写的逻辑。伪代码看起来像:
- 如果 Employee.csv 在 S3 中上传,请执行以下操作...
- 如果在 S3 中上传 Organisation.csv,请执行以下操作...
- 如果在 S3 中上传 Expenses.csv,请执行以下操作...
我只需要知道如何纠正“if”条件以匹配 S3 存储桶中的文件名。 此外,我已经在 S3 中上传的任何文件上配置了 lambda 函数的触发器。有什么方法可以将 S3 存储桶配置为仅在上传这三个文件时才触发我的 lambda 函数?
【问题讨论】:
-
回复:条件触发器,没有。但是您可以随时检查 lambda 中的文件名,如果它不是您感兴趣的文件,则什么也不做。至于其余的,请显示您当前的代码,因为现在听起来像是“为我写这段代码”。
-
我只需要知道 if 条件,我需要检查 S3 存储桶中的文件名
-
我不知道 python 所以帮不上忙,但是 lambda 将接收特定结构中的事件(在 AWS 文档中记录),文件名可以在其中访问。因此,使用更具 javascript 风格的伪代码:
var fileName = event.Records[0].attributes.key; if (!expectedFileNames.contains(fileName)) { return; } // now you know you're dealing with one of your desired files
标签: python amazon-s3 aws-lambda