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

如何在CloudWatch日志洞察中获取S3 DeleteObjects操作的对象路径?

解决S3 DeleteObjects操作在CloudWatch日志中获取对象路径的问题

DeleteObjects的请求参数结构和GetObject不同:GetObject的对象路径直接存在requestParameters.key字段,但DeleteObjects的待删除对象列表是嵌套在requestParameters.objects数组中的,每个数组元素包含一个key字段。要获取DeleteObjects操作的对象信息,需要调整日志查询语句来解析这个数组结构。

方案1:将多对象键拼接为单字段展示

适合快速查看单次DeleteObjects操作删除的所有对象,用逗号分隔多个键:

fields @timestamp, eventName, 
  case eventName 
    when "GetObject" then requestParameters.key 
    when "DeleteObjects" then array_join(requestParameters.objects[*].key, ", ") 
  end as objectKeys
| filter eventName in ["DeleteObjects", "GetObject"]
| sort @timestamp desc

方案2:将多对象拆分为单独日志条目

让DeleteObjects的每个对象都生成一条独立日志,和GetObject的条目格式保持一致,便于后续统计或筛选:

fields @timestamp, eventName, 
  case eventName 
    when "GetObject" then requestParameters.key 
    when "DeleteObjects" then obj.key 
  end as objectKey
| filter eventName in ["DeleteObjects", "GetObject"]
| unnest requestParameters.objects as obj
| sort @timestamp desc

内容的提问来源于stack exchange,提问作者amol mandwale

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.07 22:28:08