阿里云怎么利用oss Browerjs SDK将文件上传到oss?

把OSS作为一个文件共享服务器共享指定目录给别人

阿里云OSS服务器授权使用这一块,每次配置时都要查一遍资料,关键是官网的资料又多又杂又不够详细,以至于每次都要折腾半天,很浪费时间,所以还是记录一下吧。

这次的需求是要共享一些大文件给到供应商去下载,公司之前是通过第三方网盘来实现的,但是拒反馈说网盘上传很慢,普通用户上传会有带宽限制,所以想自己弄一个文件共享服务器。

通常有自己的文件存储服务器的话可以借助FTP等工具来管理文件,也可以自己搭建私人网盘如seafile nextcloud等来处理。但是这些要提供外网访问如果没有自己机房的一些配置环境,一般就是购买第三方云服务器来作为文件存储服务器或者私有网盘。再加上这个需求比较急,所以就直接用OSS来处理,下面是具体实现。

再新建一个自定义策略可以管理test-tmp这个Bucket的资源,策略内容如下:

再把自定义的这个策略授权给刚创建的用户。

接着就可以使用这个用户来登录到ossbrowser进行管理了,如下图填写对应信息:

登录进去看到以下这个页面就可以上传/下载管理文件了。

以上只有一个管理Bucket的账号,一般就是给内部人员来使用的,提供给到外部人员(供应商)去下载那就要做权限的控制了,一般就是给只读权限。

这里有两种方式可以把文件共享给别人,一种是临时授权。如下图,选中要共享的文件或目录,选择”更多”—>“生成授权码”。

如下图,按照提示还要新建一个具有这个目录权限的角色才能指定分配成功。

还是到控制台里RAM访问控制页面去新建,如下:

创建之后还要给角色分配对应目录权限,参考如下策略:

之后在授权码那里选择新建的这个角色就可以生成授权码了。

接着使用授权码来登录:

这种方式有个问题,就是授权码时间设置最大就是3600秒,也就是一个小时就过期了,而大文件往往下载会超过一个小时,过期之后还没处理完就又得重新生成。

这时候可以使用另一种非临时的授权–简化Policy授权。

在配置Policy授权之前,首先要给当前登录的用户分配RAM和STS的相关权限,如下图:

接着,跟前面一样选中要共享的文件或目录,选择”更多”—>“简化Policy授权”,弹出如下页面对话框。

 这里注意命名规则是不能使用”_”这个下划线的,但是这里又是根据目录名自动给你命名,而目录下是允许有下划线的,就会出现命名不规范,”确定授权”按钮就不能点击,但是又没有明确的提示。搞得我以为是当前登录的账号没有权限操作呢,然后修改了各个版本的策略都不行。

确定权限和命名之后,选择授权有三项:子用户,用户组和角色。可以新建一个子用户,但是这里要配置邮箱来发送邮件。也可以在控制台里新建用户或者用户组/角色(跟前面新建用户一样注意保存AccessKeyID和AccessKeySecret),这里选择授权用户,“确定授权”之后,控制台里对应用户的权限管理列表里自动会添加这里的Policy授权策略,如下:

简化Policy授权其实就是多了一个页面处理,之后会自动给生成策略。

我一开始想的是自己新建用户自己分配自定义的策略,这里关键就是自定义策略里要能够限制权限到指定的目录里头,但是配置里写到绝对路径了,用这个账号登录上去就是没有权限访问。

之后搜官网资料,看到这里有个例子:

这级目录,而不能访问app-base-oss下的其他目录的。但看这里的配置权限都已经是到了app-base-oss这个Bucket的整个权限了,就算是按照从上往下匹配规则来处理,这里的配置也说不过去,因为这样其实没必要再配置第二行的资源权限了。

之后用分配了这个权限的账号去登录,根本就没有限制到指定目录,整个Bucket都可以访问到。

所以这里官网资料也是个坑啊。

再对比通过简化Policy授权自动生成的策略内容如下:

总结:OSS还是很不错的,虽然文档有点不好找,但相对其他的已经很好了,至少在官网上能够搜到相关文档,总好过想找都没地方找。

最后,分享一些阿里云服务活动:

`ApiBoot`添加快速集成`Aliyun`的对象存储服务`Oss`,提供常用的文件操作方法,当然也提供自定义扩展,以致于满足绝大数业务场景,并且通过扩展可以实现上传文件进度条、下载文件进度条、存储空间操作、静态网站托管...

基于云存储网关与混合云备份的OSS数据备份方案

因为云存储网关在不停地反向同步OSS文件,这样就会在扫描文件的时候,出现备份文件的性能跟扫描文件性能交替的情况,导致用户看到的进度不是一直递增的。有些时候会出现进度变成了100%,但实际上,云存储网关马上...

第二种情况,客户端在国外,跨国传输到其他国家的 OSS,比如美国传到香港 OSS 通过公网上传很慢,进度条来回回退,大量并发,文件 size 比较大;国内上传到国内通过公网上传,大量并发,文件 size 比较大;排查 这几...

JS:Vue项目浏览器直接上传文件到阿里云OSS

第二种情况,客户端在国外,跨国传输到其他国家的 OSS,比如美国传到香港 OSS 通过公网上传很慢,进度条来回回退,大量并发,文件 size 比较大;国内上传到国内通过公网上传,大量并发,文件 size 比较大;排查 这几...

使用阿里云OSS上传文件

飞天加速计划·高校学生在家实践-课程共享网站

我要回帖

更多关于 阿里云oss免费多少 的文章

 

随机推荐