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

如何筛选S3中Glacier存储类的指定文件夹并导出为CSV?

筛选S3指定前缀下Glacier存储类对象并导出CSV的方法

方法一:使用AWS CLI

直接通过CLI命令指定前缀筛选,同时过滤存储类,最终输出CSV文件:

# 替换YOUR_BUCKET_NAME为你的桶名
aws s3api list-objects-v2 --bucket YOUR_BUCKET_NAME --prefix "Example/yxz/" --query 'Contents[?StorageClass==`GLACIER`].[Key,StorageClass,Size,LastModified]' --output text | awk '{print $1","$2","$3","$4}' > glacier_objects.csv

命令说明:

  • --prefix "Example/yxz/":指定要筛选的目标前缀(S3中无实际文件夹,前缀模拟文件夹结构,结尾的/确保只匹配该“文件夹”下的对象)
  • --query 'Contents[?StorageClass==GLACIER].[Key,StorageClass,Size,LastModified]':筛选存储类为GLACIER的对象,并指定要导出的字段
  • awk '{print $1","$2","$3","$4}':将CLI输出的文本格式转为CSV分隔格式
  • 最终结果会写入当前目录下的glacier_objects.csv文件

如果需要匹配Glacier Deep Archive,只需将GLACIER替换为DEEP_ARCHIVE即可。

方法二:使用Python脚本(适合复杂场景)

如果需要更灵活的字段处理或大量对象分页处理,用boto3编写脚本:

import boto3
import csv

# 替换为你的桶名和目标前缀
bucket_name = 'YOUR_BUCKET_NAME'
prefix = 'Example/yxz/'
output_file = 'glacier_objects.csv'

# 初始化S3客户端
s3 = boto3.client('s3')

# 写入CSV文件
with open(output_file, 'w', newline='', encoding='utf-8') as csvfile:
    fieldnames = ['对象路径', '存储类', '大小(字节)', '最后修改时间']
    writer = csv.DictWriter(csvfile, fieldnames=fieldnames)
    writer.writeheader()

    # 分页获取对象,避免单次请求数量限制
    paginator = s3.get_paginator('list_objects_v2')
    for page in paginator.paginate(Bucket=bucket_name, Prefix=prefix):
        if 'Contents' not in page:
            continue
        # 遍历当前页的对象,筛选Glacier存储类
        for obj in page['Contents']:
            if obj['StorageClass'] in ('GLACIER', 'DEEP_ARCHIVE'):
                writer.writerow({
                    '对象路径': obj['Key'],
                    '存储类': obj['StorageClass'],
                    '大小(字节)': obj['Size'],
                    '最后修改时间': obj['LastModified'].isoformat()
                })

脚本说明:

  • 自动处理大量对象的分页请求,避免API限制
  • 同时支持筛选GLACIER和DEEP_ARCHIVE两种存储类
  • 自定义CSV表头,输出更易读的字段名
  • 运行前确保已配置AWS凭证(环境变量、~/.aws/credentials等)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.15 07:15:41