AWS新手求助:从Snowball Edge导出TB级数据至本地存储
Snowball全量数据导出解决方案
调整CLI分页参数解决1000对象限制
AWS CLI的s3 cp默认单次仅列出1000个对象,导致漏复制。增大分页参数即可覆盖更多对象:
aws s3 cp s3://your-snowball-bucket/ /local/destination/ --recursive --page-size 10000
--page-size设为10000(可根据实际调整),减少分页次数,确保全量遍历。
用s3 sync加重试保障稳定性
s3 sync天生适合增量/全量同步,配合重试参数应对临时连接问题:
aws s3 sync s3://your-snowball-bucket/ /local/destination/ --retries 10 --page-size 10000
--retries设置重试次数,遇到断连会自动续传,数TB数据场景更可靠。
简单bash脚本兜底(适合新手)
如果上述命令仍有问题,用脚本循环处理所有对象,彻底规避分页限制:
#!/bin/bash # 替换为你的Snowball桶名和本地目标路径 BUCKET="s3://your-snowball-bucket/" DEST="/local/storage/path/" # 导出所有对象路径到临时文件 aws s3 ls $BUCKET --recursive --page-size 10000 | awk '{print $4}' > snowball_objects.txt # 逐个复制对象 while read -r obj_path; do [ -n "$obj_path" ] && aws s3 cp "$BUCKET$obj_path" "$DEST$obj_path" done < snowball_objects.txt # 清理临时文件 rm snowball_objects.txt
使用步骤:
- 修改
BUCKET和DEST为实际路径 - 赋予执行权限:
chmod +x snowball_export.sh - 运行脚本:
./snowball_export.sh
前置检查
- 确认Snowball设备已正确接入本地网络,AWS CLI能正常访问桶(用
aws s3 ls s3://your-snowball-bucket/ --recursive验证) - 确保CLI凭证拥有桶的读取权限
内容的提问来源于stack exchange,提问作者OStopaWG
相关产品推荐
相关产品推荐

