为什么删除文件没有触发事件通知?

在启用版本控制的Bucket中,未指定版本ID进行DeleteObject操作会触发事件通知,但未指定版本ID进行DeleteObjects操作不会触发事件通知,因此,在进行DeleteObjects操作时,为了触发事件通知需要指定其版本ID。

问题描述

Bucket的事件通知规则中配置了DeleteObjects事件类型,但是当出现删除文件行为时,并未触发事件通知。

问题原因

在启用版本控制的Bucket中,在使用DeleteObjects接口删除文件时,如果不指定文件的版本ID,OSS不会永久删除该文件,而是会在文件上添加一个删除标记(Delete Marker)。在这种情况下,该操作实际上是创建了一个删除标记,而不是执行了真正的删除操作,因此不会触发与删除相关的事件通知。

解决方案

在使用DeleteObjects接口删除文件时,请指定文件的版本ID。具体操作,请参见开启版本控制下Object的操作

相关文档