如需查看对象存储系统是否支持该特性,请参考 可发现性. 或者与你的服务提供商确认。
使用自解压特性上传tar压缩文件。
对象存储系统从压缩档中解压文件并创建对象。
使用``PUT``请求上传压缩档。添加``extract-archive=format``参数表示上传文件为压缩档而不是普通格式。
有效参数值为 tar
, tar.gz
, 或 tar.bz2
.
在``PUT``请求中指定的路径表示对象位置并用作结果对象名称的前缀。
在``PUT``请求中指定路径:
例如,tar压缩包中第一个对象为``/home/file1.txt``且指定路径为``/v1/12345678912345/mybackup/castor/, 该操作会在``12345678912345``账户的``mybackup
容器下创建``castor/home/file1.txt``对象。
必须使用tar工具创建tar压缩档。
你可以上传常规文件但是不能上传其他项目(比如,空的目录或者符号链接)。
你必须以UTF-8-encode定义定义成员名称。
自解压特性支持以下格式:
POSIX.1-1988 Ustar 格式.
GNU tar 格式. 包括长名称,长链接,以及 sparse (LINUX稀疏文件)扩展。
POSIX.1-2001 pax 格式。
使用gzip 或 bzip2 压缩文件。
使用查询参数``extract-archive``指定格式。 有效参数值为 tar
, tar.gz
, 或 tar.bz2
.
当对象存储过程请求时,它执行多个子操作。即使所有的子操作失败,操作返回一个201“创建”状态。一些子操作可能会成功,而另一些则失败。检查响应体,以确定每个自动提取存档子操作的结果。
可以设置``Accept``请求头为以下值来定义响应格式:
text/plain
application/json
application/xml
text/xml
以下例子中自解压文件响应为`text/plain``且没有发生错误。
Number Files Created: 10
Errors:
下面的自动提取归档文件示例显示了一个“text/plain”响应中发生了一些故障。在这个示例中,对象存储系统被配置为拒绝某些字符串,以至于使用任何限制字符串的对象都会发生400个错误的请求错误。
Number Files Created: 8
Errors:
/v1/12345678912345/mycontainer/home/xx%3Cyy, 400 Bad Request
/v1/12345678912345/mycontainer/../image.gif, 400 Bad Request
下面的示例显示了在“ application/json ”格式中的故障响应。
{
"Number Files Created":1,
"Errors":[
[
"/v1/12345678912345/mycontainer/home/xx%3Cyy",
"400 Bad Request"
],
[
"/v1/12345678912345/mycontainer/../image.gif",
"400 Bad Request"
]
]
}
Except where otherwise noted, this document is licensed under Creative Commons Attribution 3.0 License. See all OpenStack Legal Documents.