当类似于.log、.txt等多个扩展名的文件被添加到AWS S3存储桶时,我需要事件通知。我们可以从控制台中添加多个后缀来进行S3事件通知吗?
当类似于.log、.txt等多个扩展名的文件被添加到AWS S3存储桶时,我需要事件通知。我们可以从控制台中添加多个后缀来进行S3事件通知吗?
您可以在Amazon S3控制台中创建一个事件,然后通过SNS或SQS触发Lambda函数或发送消息。
此配置接受前缀
(实际上是一个目录)和后缀
(例如.jpg
)。
只需打开存储桶,转到属性选项卡,然后单击事件(在底部)。
请参见:配置Amazon S3事件通知 - Amazon Simple Storage Service
您可以创建多个事件,每个事件具有不同的后缀。但是,您无法创建一个具有多个后缀的事件。一种替代方法是为任何后缀(任何文件类型)创建一个事件,并使Lambda函数检查文件名,如果它具有无趣的后缀,则退出。
.jpg
、.png
或 .jpeg
,但不触发 .gif
怎么办?实际上,我有一个现有的 Lambda 触发图像调整大小,但现在我想跳过 .gif
扩展名。 - A l w a y s S u n n y你应该使用带有 S3
触发器的 Lambda
来处理你的存储桶,并编辑函数代码以检查文件类型。
例如,对于 Node JS
,可以使用以下代码:
// Check that the file type is supported
const fileType = typeMatch[1].toLowerCase();
if (fileType != "txt" && fileType != "pdf") {
console.log(`Unsupported file type: ${fileType}`);
return;
}