我准备开发一个电商云服务,我的用户注册之后就可以拥有一个 C2C 电商平台。我的每个用户都有自己的 C2C 电商平台和一套 API ,可以用 API 自己发布客户端。
现在遇到一个技术难点,我的用户的平台的用户(他的用户)发布商品时,上传的图片和视频,我想统计在他的账号名下,以及被访问后的流量费也计在他名下。好像没有哪家云服务支持这样的场景,不好实现。
比如,我使用七牛云存储,我的用户所有资源都放在七牛某个存储桶,那么我的密钥是不能公开的,如果我的用户,他的客户端上传文件时,走 API 经过我的业务服务器,有点太费我的服务器资源了,直达七牛云又不能把我的密钥给他。
这时候,就要有一家云服务的存储桶支持无限子账号,而且仅有上传权限。
我研究了一下国内国外几家大的存储服务商,都不好实现这样的场景。
大家有遇到过这个问题,有经验吗?求指教,谢谢,谢谢,谢谢。
ps: 最好是国外的技术方案,因为这是一个出海项目。
1
nightwitch 2023-07-14 12:30:24 +08:00 via Android
允许用户直接往存储桶传的话待会来个搞事情的给你塞满儿童涩情和暴恐视频
|
2
JarvisTang OP @nightwitch 我会做个计划任务,文件一天未被使用,就会清理。不做长时间存储。
|
3
xmumiffy 2023-07-14 13:01:54 +08:00 via Android
都有签发上传 token 的接口啊,token 还能指定储存的前缀甚至直接指定文件名
|
4
xmumiffy 2023-07-14 13:04:28 +08:00 via Android
|
5
star7th 2023-07-14 13:06:21 +08:00
要实现你这种场景,最佳做法还是用自己的服务器做一层中转。走 api 经过你的业务服务器是必须的。
|
6
JarvisTang OP @xmumiffy 感谢,这个信息非常有用。
|
7
JarvisTang OP @star7th 这个是最后考虑的方案了,无奈选择。走业务服务器,有点浪费我的服务器资源,用户量大了之后,要求有点高。
|
8
realpg 2023-07-14 15:50:44 +08:00
一个客户一个 bucket 啊,这不是基本操作
|
9
realpg 2023-07-14 15:51:36 +08:00
给密钥是什么鬼?你好像压根就没理解 s3 协议是怎么运作的,啃啃基础吧
|
10
JarvisTang OP |
11
virusdefender 2023-07-14 16:07:37 +08:00
楼上正解,一个用户一个 bucket ,然后使用 sts 表单上传(阿里云的名词,其他的存储不清楚,不过应该都有类似的)
|
12
guoguobaba 2023-07-14 16:17:04 +08:00
minio 再包一层,minio gateway ,自己发放 ak ,设置权限就可以了。
版本要在 RELEASE.2022-10-24T18-35-07Z 之前就行了。 |
13
vmlinz 2023-07-14 16:25:30 +08:00 via iPhone
一个 bucket 下,可以给 object 打 tag ,或者每个用户有自己的子目录,再连接 bucket 的生命周期事件,每次上传的时候做一个记录,用来追踪用户的使用。但是流量费这个很难统计到具体用户,不一定所有平台都提供。
最好还是每个用户有自己的 bucket 最方便,供应商账户就可以自动工作。 |
14
realpg 2023-07-15 09:34:38 +08:00
|
15
JarvisTang OP @realpg 不要只看片面的描述,你不知道为什么这样设计的背景信息,不要在这上面断言。
|