写在前面:今天公司的图片上传需要用到ucloud,那么就要开始学啊,好在现在ucloud文档官方已经提供了很多相关文档,还不错。
本文仅选择重点部分,帮助大家快速上手。
1.对象存储
对象存储(UFile)是为互联网应用提供非结构化文件存储的服务;相对于传统硬盘存储,对象存储具有存储无上限、支持高并发访问、成本更低等优势;解决业务架构的文件存储问题,有效降低海量文件的存储成本,支持热点数据的高并发访问,提升终端用户访问体验。
2.单地域空间管理简介
2.1概述
单地域对象存储服务能够解决业务架构的文件存储问题,为用户上传的数据创建多份副本并实现跨机房存储。2.2 主要概念
对象存储空间(简称存储空间)是文件的组织管理单位,一个文件必然位于某个空间中。空间名称全局唯一,且无法进行修改。
每个账号最多可以创建20个存储空间,存储空间内文件数量无限制,单个文件最大5 TB。
用户可以将存储空间设置为公开或私有,以控制存储空间内文件的访问权限。note
1、仅包含小写字母,数字和连字符(-)
2、必须以小写字母或者数字开头
3、长度必须在6-63字节之间。文件(File)
文件是存储空间的逻辑存储单元。对于每个账号,该账号里存放的每个文件都有唯一的一对存储空间(Bucket)与键(Key)作为标识。PUT方式上传文件大小最大为5 TB。文件名(Key)
文件名是对应文件的名称,在存储空间中全局唯一,每个文件名在存储空间均标识了一个文件,写入文件时,用户可以自定义文件名。上传同样文件名的文件,会导致原文件名文件被覆盖。
使用者在下载文件时只需要知道下载出口的域名,而无需了解文件具体会被存放到哪个机房的哪个设备,也无需知道具体存放形式。只需在浏览器输入对应的URL访问即可
note
1、使用UTF-8编码
2、长度必须在1-1023字节之间
3、可以“/”字符开头,但不允许出现“{}^[]<>#~%”。
2.3 常用的几种上传方式
1.普通上传(Put File)
普通上传是指用户使用对象存储 API中的Put File方法上传单个File,可以适用在任何一次HTTP请求交互即可完成上传的场景,比如小文件的上传。
2.表单上传(Post File)
表单上传是一种适用于小文件上传的上传方式,是指用户使用对象存储 API中的Post File请求来完成File的上传。
3.分片上传(Multipart Upload)
分片上传是指将待上传文件分成多个数据块来分别上传,上传完成之后再调用对象存储 API将这些Part组合成一个File。
4.秒传文件(UploadHit)
秒传文件是指先判断待上传文件的Hash值,如果对象存储空间中已存在该文件,则不需要上传文件即可完成上传;否则需调用其他上传接口进行文件上传。
5.普通下载(Get File)
普通下载是指用户下载已经上传的文件,文件下载是使用HTTP的GET请求来完成的。
6.分片下载(Range Get)
分片下载是指从File指定的位置开始下载的功能,对于大文件可以分为多次下载。如果中途下载中断,重启的时候也可以从上次最后完成的地点开始继续下载。快速上手
https://docs.ucloud.cn/storage_cdn/ufile/quick
对象存储空间和Key是什么?
对象存储空间(简称存储空间)是文件的组织管理单位,一个文件必然位于某个空间中。空间名称全局唯一,且无法进行修改。
文件名是对应文件的名称,在存储空间中全局唯一,每个文件名在存储空间均标识了一个文件,写入文件时,用户可以自定义文件名。上传同样文件名的文件,会导致原文件名文件被覆盖。
公共空间和私有空间有何区别?
公共空间指任何人都可以直接通过URL访问该空间里的文件,不需要授权签名。
私有空间需要根据API公私钥生成正确的签名才能访问文件。
如何查看及管理上传的文件?
用户可以通过控制台的文件管理页查看已上传的文件,同时也可以使用文件管理工具或API查看已经上传的文件。
是否支持目录、文件列表?
对象存储空间没有目录的概念,所以不能按照目录列出文件列表。
但上传文件时,Key依然沿用目录形式,便于特定的用户使用场景需要。
例如:demobucket.ufile.ucloud.cn/test/a.jpg 这里的 key=test/a.jpg 。
如何使用对象存储空间提供的两个域名?
每个存储空间默认提供一个存储空间域名与一个CDN加速域名。
文件上传操作必须将请求发往存储空间域名。
文件下载操作可以通过访问存储空间域名或CDN加速域名进行。文件下载时建议使用CDN加速域名进行下载,以获得更好的下载体验。
对象存储空间是否有容量上限?
对象存储空间容量没有上限,按需使用。
文件大小有什么限制?
单个文件大小上限为5 TB。
对象存储空间如何通过内网访问?
1、空间管理的API,内网访问时域名同公网,使用api.ucloud.cn。
2、文件管理的API,需要使用内网专用域名.ufile.cn-north-03.ucloud.cn。
例如,bucket名称为demobucket,则其C机房内网域名为demobucket.ufile.cn-north-03.ucloud.cn。
3、文件管理的API列表如下:PutFile,PostFile,UploadHit,GetFile,DeleteFile,InitiateMultipartUpload,UploadPart,FinishMultipartUpload,AbortMultipartUpload。
4、命令行工具,通过内网访问,需要将配置文件中的proxyhost 改成 “proxyhost”: “www.ufile.cn-north-03.ucloud.cn”。
5、SDK(以phpSDK为例)通过内网访问,需要将配置文件中 UCLOUDPROXYSUFFIX改成 UCLOUDPROXYSUFFIX = ‘.ufile.cn-north-03.ucloud.cn’ (其他SDK的配置文件通常改proxy_suffix)。
各机房proxy_host地址分别是什么?
北京
外网:www.cn-bj.ufileos.com | www.ufile.ucloud.cn
B机房内网:www.ufile.cn-north-02.ucloud.cn
C机房内网: www.ufile.cn-north-03.ucloud.cn
D机房内网: www.ufile.cn-north-04.ucloud.cn
上海二
外网: www.cn-sh2.ufileos.com
内网: www.internal-cn-sh2-01.ufileos.com
香港
外网:www.hk.ufileos.com
内网:www.internal-hk-01.ufileos.com
广东
外网:www.cn-gd.ufileos.com
内网:www.internal-cn-gd-02.ufileos.com
美国
外网:www.us-ca.ufileos.com
内网:www.internal-us-ca-01.ufileos.com
使用filemgr工具时遇到timeout错误时怎么办?
“client timeout” 、”i/o timeout”,文件所在机器的出带宽有限很容易发生此错误,可以使用mput,并增加–speedlimit进行限速。
UFile域名被第三方平台告知有安全风险怎么处理?
第三方平台的安全检测是基于泛域名做检测及封禁处理,而UFile不同客户的域名使用同一个泛域名,因此只要有一个客户有违规内容,整个UFIle默认域名都会被安全软件封禁。
这个问题我们和第三方平台沟通过多次,对方以按照逐个域名做封禁成本太大为由拒绝。因此遇到封禁情况的客户,建议通过使用自定义域名解决。配置方法参考[操作指南]—[自定义域名]。
有跨域需求时如何申请?
如需在UFile配置跨域,需要指派工单至技术支持,工单内注明:bucket名称、ufile域名、Origin地址和要跨域的http method。