我有一个Lambda函数,当对象上传到S3存储桶时触发 - 我想在上传两个特定项目后执行操作。如果两个文件同时上传并且Lambda函数被触发两次,我怎么能这样做而不必担心两次执行动作?
例如:有两种类型的文件.X和.Y,每个文件对都有相同的名称 - 123.X和123.Y,或124.X和124.Y.让我们说,一旦它们都存在,我想连接这些文件。您可以执行以下伪代码:
lambda_handler(event):
key = event[...]['key']
unique_id = key.split('.')[0]
files = get_files_with_unique_id_from_bucket(unique_id)
if files['.X'] and files['.Y']:
concatenate(files['.X'], files['.Y'])
抱歉懒惰的伪代码...
如何在不担心触发器同时发生且满足连接条件的情况下如何做到这一点?出于这个问题的目的,串联发生两次都是不好的。