简介 -奇异果体育app竞彩官网下载
百度对象存储bos(baidu object storage),是百度智能云对外提供的稳定、安全、高效以及高扩展存储服务,支持文本、多媒体、二进制等任何类型的数据存储。数据多地域跨集群的存储,以实现资源统一利用,降低使用难度,提高工作效率。用户可以通过本文档提供的简单的restful api接口,进行资源管理以及数据上传下载等操作。
如果您是初次调用百度智能云产品的api,可以观看api入门视频指南,快速掌握调用api的方法。也可以通过可视化的api调试工具,进行学习与调用。
服务域名
百度智能云开放了多区域,bos支持的区域及对应域名请查看。
规范化字符串(urlencode)
通常一个字符串中可以包含任何unicode字符。在编程中这种灵活性会带来不少困扰。因此引入“规范字符串”的概念。一个规范字符串只包含百分号编码字符以及uri(uniform resource identifier)非保留字符(unreserved characters)。 rfc 3986规定uri非保留字符包括以下字符:字母(a-z,a-z)、数字(0-9)、连字号(-)、点号(.)、下划线(_)、波浪线(~)。 将任意一个字符串转换为规范字符串的方式是:
- 将字符串转换成utf-8编码的字节流。
- 保留所有uri非保留字符原样不变。
- 对其余字节做一次rfc 3986中规定的百分号编码(percent-encoding),即一个%后面跟着两个表示该字节值的十六进制字母。字母一律采用大写形式。示例:
原字符串:
this is an example for 测试
, 对应的规范字符串:this is an example for 测试
。
说明: 下面这段sample代码以java为例演示如何进行urlencode。其中input为输入字符串,encodeslash用来控制是否对"/"进行编码。在有些情况下,做urlencode时需要忽略"/",具体情况可以参见“编码规范”。
public static string uri_encode(charsequence input, boolean encodeslash) {
stringbuilder result = new stringbuilder();
for (int i = 0; i < input.length(); i) {
char ch = input.charat(i);
if ((ch >= 'a' && ch <= 'z') || (ch >= 'a' && ch <= 'z') || (ch >= '0' && ch <= '9') || ch == '_' || ch == '-' || ch == '~' || ch == '.') {
result.append(ch);
} else if (ch == '/') {
result.append(encodeslash ? "/" : ch);
} else {
result.append(tohexutf8(ch));
}
}
return result.tostring();
}
编码规范
- 可解析内容,所有request/response body内容目前均使用utf-8编码,后续会支持更多encoding类型。
-
在请求时,需要对以下做urlencode:
- objectname,其中,resource做urlencode的时候需要忽略“/”。
- querystring的value。
- x-bce-copy-source(忽略“/”)。
- 自定义meta:meta value只支持可见的ascii字符,如果需要其它的字符,推荐使用urlencode处理。
请求语法风格
bos api的请求语法支持不带“/v{version}/”的风格,也兼容“/v{version}/”的风格。以getobject为例,下述两种写法的api调用方式都是正确的。
- 不带/v{version}/的请求语法:get /object http/1.1
- 带/v{version}/的请求语法:get /v1/bucket/object http/1.1
资源数目及大小规范
- 用户可有的bucket数目100。如果需要更多bucket,可以通过申请。
- bucket中的object数不限。
- 支持单个object最大为48.8tb。
- 用户请求header大小不得超过8kb。其中用户自定义meta(x-bce-meta-)不得超过2kb;meta值不能为空,且只支持ascii格式。
命名规范
-
bucket格式要求:
- 只能包括小写字母,数字和连字符“-”。
- bucket名开头和结尾必须是小写字母或数字。
- 长度为3~63位。
-
object格式要求:
- 长度不能超过1024个字节的utf-8字符。
日期与时间
日期与时间的表示有多种方式。为统一起见,除非是约定俗成或者有相应规范的,凡是http标准中规定的表示日期和时间字段用gmt,其他日期时间表示的地方一律采用utc时间,遵循iso 8601,并做以下约束:
- 表示日期一律采用
yyyy-mm-dd
方式,例如2014-06-01
表示2014年6月1日。 - 表示时间一律采用
hh:mm:ss
方式,并在最后加一个大写字母z表示utc时间。例如23:00:10z
表示utc时间23点0分10秒。 - 凡涉及日期和时间合并表示时,在两者中间加大写字母t,例如
2014-06-01t23:00:10z
表示utc时间2014年6月1日23点0分10秒。