You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何快速查找未随Azure Function删除的僵尸Azure Storage资源?

排查无关联Azure Function的僵尸存储资源的方法

本文所述僵尸存储指:曾绑定Azure Function业务、对应Function已删除、无其他上层业务使用仍占用资源的存储账户

方法1:Azure Resource Graph批量查询(推荐)

直接跨订阅/资源组批量筛选候选资源,无需逐台核对日志,查询逻辑为:先拉取所有存活Azure Function关联的存储账户列表,再匹配所有带有Function专属标识的存储账户,过滤出无对应存活Function关联的资源。
查询语句如下:

// 提取所有现存Function App关联的存储账户名称
Resources
| where type == 'microsoft.web/sites'
| where kind contains 'functionapp'
| extend webjobStorage = tostring(properties.siteConfig.appSettings[?name == 'AzureWebJobsStorage'].value)
| extend storageName = replace_string(split(webjobStorage, ';')[1], 'AccountName=', '')
| project storageName
| distinct storageName
// 右反联结匹配带Function标识且未被现存Function关联的存储
| join kind=rightanti (
  Resources
  | where type == 'microsoft.storage/storageaccounts'
  // 筛选曾绑定过Function的存储特征:存在专用隐藏标签
  | extend hasFunctionBindHistory = tags['hidden-related:azure-webjobs-host'] is not null
  | where hasFunctionBindHistory == true
  | project StorageName=name, ResourceGroup=resourceGroup, SubscriptionId=subscriptionId, Location=location
) on $left.storageName == $right.StorageName

查询返回的列表即为候选僵尸存储,可进一步核对访问特征确认。

方法2:单存储手动排查

如果仅需核对少量存储,可直接通过存储属性判断:

  • 查看存储容器列表,是否存在azure-webjobs-secrets、azure-webjobs-hosts两个Function专属默认容器,存在即说明该存储曾绑定过Function业务
  • 查看存储「指标」页面,筛选过去30天的Transactions指标,若读写请求量持续为0可初步判定无业务使用
  • 查看存储「活动日志」,筛选过去90天的操作记录,无Function关联操作且无其他业务访问记录即可判定为僵尸资源

安全提示:删除前请确认存储无其他上层业务(如静态网站、VM磁盘、数据库备份等)依赖,建议先开启存储软删除功能,观察7天无异常报错后再彻底清除资源。

内容的提问来源于stack exchange,提问作者Yuzuki Ayase

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 20:45:04