1.4 基本概念
Region
Region/endpoint是物理上数据中心的划分,一个数据中心的FDS称之为一个Region。用户可以根据自己应用所在位置,就近选择Region,以获得较低的访问延时。下面是已上线的Region:
Region | 中文名称 | 控制台名称 |
---|---|---|
cnbj2 | 北京2区 | 北京-金山云 |
awsusor0 | 亚马逊美国0区 | 俄勒冈-AWS |
awssgp0 | 亚马逊新加坡0区 | 新加坡-AWS |
awsde0 | 亚马逊德国0区 | 法兰克福-AWS |
ksyru0-eco | 金山云俄罗斯0区 | 莫斯科-金山云 |
awsind0-eco | 亚马逊印度0区 | 孟买-AWS |
Note
- region供外部用户使用,参见各个SDK的setRegion接口。
- endpoint共内网用户使用,参见各个SDK的setEndpoint接口。
- 内网用户与外网用户共用同CDN的域名。
- 因公司机房调整,cnbj0集群不再接受新业务申请。
Region与外网域名对应关系
Region | 外网域名 | cdn域名 |
---|---|---|
cnbj2 | cnbj2.fds.api.xiaomi.com | cdn.cnbj2.fds.api.mi-img.com |
awsusor0 | awsusor0.fds.api.xiaomi.com | cdn.awsusor0.fds.api.mi-img.com |
awssgp0 | awssgp0.fds.api.xiaomi.com | cdn.awssgp0.fds.api.mi-img.com |
awsde0 | awsde0.fds.api.xiaomi.com | cdn.awsde0.fds.api.mi-img.com |
ksyru0-eco | ksyru0-eco.fds.api.xiaomi.com | cdn.ksyru0-eco.fds.api.mi-img.com |
awsind0-eco | awsind0-eco.fds.api.xiaomi.com | cdn.awsind0-eco.fds.api.mi-img.com |
Bucket
Bucket是存储Object的容器,在同一个Region内,Bucket是全局唯一的。每个Object都存在于一个Bucket中,一个Bucket里面可以包含很多个Object。
如果Object photos/tx.jpg存储在Bucket john中,则通过下面的URL可以定位这个Object: http://region-domain/john/photos/tx.jpg
合法的Bucket名字长度[3, 63]个字节,符合域名命名规范 合法的Bucket名称:
bucket4test
test-bucket-name
bucket-4-log.mock-company-name.mock-country-name
不合法的Bucket名称:
.leading-dot-bucket-name
bucket_name_under_line_not_allowed
bucket-name-toooooooooooooooooooooooooooooooooooooooooooooo-long
Object
Object是用户实际存储在FDS中的数据,包括用户存储的文件内容和相关的Metadata,他们和在一起,统称为 Object。
Object名字可以为任意字符,可以包含/
。在 Web console 上 /
被显示为目录,但在FDS 中没有目录的概念。因此 2016/3/3.jpg
与abc/2016/3/3.jpg
是两个不同的Object名字,应在使用中注意区分。
合法的Object名称长度应大于0,且不能以/
为开头,以及不能出现//
。 合法的Object名称:
test.jpg
a/b/c/test.jpg
不合法的Object名称:
/test.jpg
abc//test.jpg
Metadata
Metadata和文件和在一起构成一个Object,通过HTTP header进行在网络上进行传输。通过Metadata,用户可以给文件加一些附属信息。使用时请注意:
- metadata的键以及对应值不可在上传后再编辑/添加
- metadata的键和值都是是大小写不敏感的,通过SDK获取的值都是小写的
Canned ACL
给Bucket和Object设置ACL时,除了调用相关的API,还可以在创建时通过HTTP header完成。
相关API:
- 设置Object ACL
- 上传Object同时设置ACL
- 权限列表
认证
认证是向服务器证明自己身份的一个过程,现在FDS支持OAuth,签名和预签名三种认证方式。三种认证各有使用场景,其中预签名认证对客户端要求低,更安全,优先推荐用户使用。参考请求认证了解详情。