Create and manage a sorted directory structure in AWS S3

📦 智能前缀分类·高效S3批量上传

自动按文件名首字母将文件批量上传至S3,支持智能分目录(a-z/0-9/_other)组织,优化海量文件管理效率。

收藏
3.8k
安装
1.1k
版本
1.0.0
CLS 安全扫描中
预计需要 3 分钟...

使用说明

核心用法

s3-sort 是一款面向 AWS S3 的批量文件上传工具,核心特性是通过首字符前缀自动分类机制组织对象存储结构。用户只需指定本地目录和目标存储桶,工具会自动将文件按 a/apple.txt、b/banana.txt、0-9/123.txt、_other/symbol.txt 的规则归类上传。

三种执行模式

1. 单文件上传:适合调试或补充上传单个文件
2. 循环批量上传:直接遍历目录逐文件上传,简单直观

3. 高效同步模式(推荐):先通过符号链接构建本地 staging 目录结构,再执行 aws s3 sync,大幅减少 API 调用次数,显著提升大规模上传效率

组织逻辑

| 首字符 | 目标前缀 |
|--------|---------|
| a-z, A-Z | 小写字母目录(如 `a/`, `z/`) |
| 0-9 | `0-9/` |
| 其他符号 | `_other/` |

显著优点

  • 零配置开箱即用:仅需标准 AWS CLI 凭证,无需额外依赖
  • 智能降本:内置存储类切换支持(Standard-IA / Glacier-IR / Intelligent-Tiering),可大幅降低长期存储成本
  • 可扩展架构:staging + sync 模式支持百万级文件批量操作,避免逐文件上传的性能瓶颈
  • 验证友好:提供清单生成、前缀统计、访问测试等辅助脚本

潜在局限

  • 命名冲突风险:同一前缀目录下不允许同名文件,原始路径信息丢失
  • 单一层级分类:仅支持首字符单层前缀,复杂业务场景(如按日期/项目多维分类)需二次开发
  • 符号链接依赖:高效模式依赖 Unix 符号链接,Windows 环境需额外适配
  • 无内置重试机制:依赖 AWS CLI 默认重试策略,弱网环境下可能中断

适合人群

  • 运维工程师处理日志归档、备份文件等海量非结构化数据上传
  • 数据工程师构建数据湖初始目录结构
  • 需要快速将本地文件资产迁移至云端存储的中小团队

常规风险

| 风险类型 | 说明 | 缓释建议 |
|---------|------|---------|
| 凭证泄露 | AWS 密钥需通过环境变量注入 | 使用 IAM Role / SSO 替代长期凭证,配合 Secrets Manager |
| 误删误覆盖 | S3 默认允许覆盖同名对象 | 启用版本控制(Versioning)或 MFA Delete |
| 成本失控 | 频繁 LIST/PUT 操作产生请求费用 | 优先使用 sync 模式减少 API 调用,监控请求指标 |
| 数据一致性 | 大文件断点续传需额外配置 | 对超大文件启用 multipart upload 或检查 ETag |

安全评估

本技能基于官方 AWS CLI 构建,无第三方依赖,代码透明可审计。但需注意:凭证以明文环境变量传递,在共享 CI/CD 环境中存在泄露风险;建议生产环境配合 AWS IAM Role 的 Web Identity 或 OIDC 联邦身份方案使用。

Create and manage a sorted directory structure in AWS S3 内容

手动下载zip · 2.0 kB
SKILL.mdtext/markdown
请选择文件