ADLS Gen2存储账户生命周期管理规则未生效问题求助
Azure Blob生命周期管理规则未生效的可能原因
- 前缀匹配配置错误:你规则中
prefixMatch设置的是loadfilestest/Archive/,需要确认两个点:第一,存放Archive目录的块Blob容器名称确实为loadfilestest,如果容器名和此处配置不一致,规则无法匹配到目标文件;第二,目录名称的大小写是否和配置完全一致,Azure存储的前缀匹配是大小写敏感的,若实际目录为小写archive也会导致匹配失败。 - 存储账户开启了数据保护类功能:如果你的存储账户配置了Blob软删除、版本控制、不可变存储(WORM)策略,生命周期规则触发删除动作后,不会立刻永久删除文件:软删除场景下需要等软删除保留期到期后才会执行硬删除;不可变策略锁定的Blob在锁定到期前无法被任何操作删除。
- 目标Blob处于受限状态:如果待删除的Blob存在未释放的租用、关联了active状态的快照,也会阻止生命周期规则的删除操作执行。
- 修改时间计时逻辑问题:
daysAfterModificationGreaterThan的计时起点是Blob的最后一次修改时间,如果目标文件近期有过元数据修改、存储层调整等操作,会重置修改时间,导致未达到1天的触发条件,你可以单独查看目标文件的属性确认最后修改时间是否符合要求。 - 规则运行周期延迟:Azure生命周期管理规则默认最长24小时运行一次,新创建或者修改后的规则最长可能需要48小时才会首次生效,不过你已经创建一周,这个原因的概率较低,可以作为兜底排查项。
{ "rules": [ { "enabled": true, "name": "30daysStorage", "type": "Lifecycle", "definition": { "actions": { "baseBlob": { "delete": { "daysAfterModificationGreaterThan": 1 } } }, "filters": { "blobTypes": [ "blockBlob" ], "prefixMatch": [ "loadfilestest/Archive/" ] } } } ] }
内容的提问来源于stack exchange,提问作者Mayur Darji
相关产品推荐
相关产品推荐

