MiniS3 教程¶
MiniS3 是一个确定性的 Python 教学实现,覆盖 S3 风格对象存储的核心机制: 扁平键、版本控制、列表查询、multipart 复合 ETag、条件 CAS、手动 tick 的 lifecycle expiration,以及崩溃一致的本地发布。它提供直接 Python API,而不是 兼容 HTTP/S3 的服务器。
安装¶
需要 Python 3.12+ 和 uv。
git clone https://github.com/system-in-miniature/mini-s3.git
cd mini-s3
uv sync --dev
第一个实验¶
uv run python labs/lab_versioning.py
脚本写入两个版本、创建删除标记,展示普通 GET 此时得到 NoSuchKey,然后按
version ID 取回仍被保留的第一个版本。
阅读顺序¶
先通过仓库导览理解代码布局,再读概念映射。运行五个 lab 后再读差异章节, 避免把本地实验成功误解成 Amazon S3 兼容性证据。