用 OBS 打造个人云相册 App:HarmonyOS 端云协同实践手记
今天在鸿蒙开发实践中心完整浏览了“用OBS打造个人云相册app”案例,并在 AI 开发者空间里把整条链路过了一遍,记录几个关键要点。
一、方案总览
本地图库选择照片和视频,经 OBS Header 签名逐文件备份到自己的私有桶;在云端列表和网格中查看缩略图、对象详情与预览。整条链路只依赖四项配置:AK、SK、区域 Endpoint 和桶名。
二、OBS Header 签名:最容易踩坑的地方
签名用 HMAC-SHA1 计算,构造 Authorization 请求头,格式为 OBS AK:Signature。签名串的构造要严格按规范来:请求方法、内容头、规范化 OBS 请求头、规范化资源缺一不可。出现 SignatureDoesNotMatch 时,先核对 AK/SK、Endpoint、桶名和设备时间,再检查规范化资源是否多拼或少拼了路径。
三、逐文件备份与去重
应用按目标和内容识别重复备份,同一文件不会反复上传;单文件上传上限为 64 MiB,超过这个体积的视频要走分段上传。备份记录保存在应用沙箱,清除应用数据会丢记录,这一点要提前和用户说清楚。
四、云端预览的上限
云端预览通过认证 GET 获取原对象;缩略图最多 64 张,磁盘缓存上限 128 MiB,单个预览不超过 64 MiB。做展示页时按这个上限设计,避免一次拉取超大对象。
五、前置准备清单
- 创建私有桶:标准存储、私有访问;区域与单/多 AZ 策略要与已购资源包匹配,否则无法抵扣。
- 取 AK/SK:控制台右上角用户名菜单进入“我的凭证 → 访问密钥”,新建后下载保存,之后无法重新查看。
- 最小权限:推荐用已开启“编程访问”的专用 IAM 用户,只授予该桶的 ListBucket、PutObject、GetObject 权限。
- 凭据只填在 App 设置里,不要写进代码、日志或截图。
六、云端实践与本地开发两条路
云端实践是在实践中心作业中心创建项目,填入案例仓地址,由 AI 检查 API 26 SDK、编译 entry HAP,再连接云手机安装验证;本地开发则用 DevEco Studio + API 26 SDK,配模拟器或已授权真机。两条路共用同一套 OBS 配置,准备工作做一次即可。
结语
端云协同的案例里,真正的功夫在签名、去重和权限三件事上。把这三件做对,剩下的界面和流程都是水到渠成。
- 点赞
- 收藏
- 关注作者
评论(0)