如何统计GCS存储桶的非当前对象?验证版本对象是否存在
统计GCS存储桶版本化对象及验证存在性
统计非当前版本化对象数量
如果需要统计桶内所有非当前版本的对象(即开启版本控制期间生成的历史版本,也是你需要确认是否已移除的目标),可以使用gcloud命令行工具执行以下命令:
gcloud storage objects list gs://[你的存储桶名称] --all-versions --format="value(is_current)" | grep -v TRUE | wc -l
命令说明:
--all-versions:列出桶内所有对象的所有版本--format="value(is_current)":仅输出每个对象版本的"是否为当前版本"标识grep -v TRUE:过滤掉当前活跃版本(保留非当前的历史版本)wc -l:统计剩余行数,即历史版本化对象的总数
如果要统计**所有对象版本(含当前版本)**的总数,可使用:
gcloud storage objects list gs://[你的存储桶名称] --all-versions --format="value(generation)" | awk 'NR>1' | wc -l
确认是否存在至少1个版本化对象
若只需验证桶内是否还有历史版本化对象,无需精确统计数量,可执行以下快速验证命令:
gcloud storage objects list gs://[你的存储桶名称] --all-versions --format="value(is_current)" | grep -q FALSE && echo "存在版本化对象" || echo "无版本化对象"
该命令会静默检查是否有非当前版本的对象,存在则输出提示,否则提示无版本化对象。
也可通过GCS控制台操作:进入目标存储桶,点击顶部视图菜单的显示版本选项,若页面出现灰色标注为"非当前版本"的对象,即说明存在历史版本化对象。
内容的提问来源于stack exchange,提问作者No1Lives4Ever
相关产品推荐
相关产品推荐

