名称 | 说明 | 备注 |
ACL |
访问控制列表。用于控制用户、组对桶或对象的访问权限,可选值如下: READ : 读取桶中对象权限 READ_ACP : 写读取桶的ACL WRITE : 向桶中写入对象 WRITE_ACP : 可修改桶的ACL FULL_CONTROL : 完全控制 |
|
系统元数据 | 对象的大小,对象key,创建时间,最后修改时间,hash值等信息; | |
用户自定义元数据 | 用户可以为对象创建“用户自定义元数据”。格式为:key=value。可以有多个。 | |
桶/命名空间 | 对象存储空间的逻辑划分方式。对象存储在桶中。 | |
HS3 | HCP的S3接口 | |
AWS S3 | 亚马逊的S3接口 | |
AuthenticatedU sers | 组用户。表示在桶中注册的用户,有帐号和密码。 | |
AllUsers | 组用户。未在系统中注册的用户,即任意访问者。 | |
CanonicalUser | 非组用户。表示某个特定的用户。 | |
认证头信息 |
认证信息格式:Authorization: AWS access-key:signature access-key 是桶用户名的base64编码 Signature 是桶用户密码的md5加密 举例:Authorization: AWS bmV0c2tpbGw=:PfFBBFRoWM/Fn31wuH5+UNPyh4s= |
名称 | 描述 |
Host |
请求的主机,用于标识租户或桶。 对于租户,格式为:tenant-name.hcp-domain name 对于桶,格式为:bucket-name.tenant-name.hcp-domain name |
Authorization | 认证信息。格式:Authorization: AWS access-key:signature。 access-key:桶用户名进行 base64 编码; signature:桶用户密码进行 md5 加密; |
Date |
当前请求的时间和日期。格式:DDD dd MMM yyyy HH:mm:ss GMT 举例:Wed, 19 Oct 2016 03:04:30 GMT |
Content-Type | 请求体的内容类型。 |
名称 | 描述 |
Content-Length | 响应体的字节数。如果没有响应体,此值为 0 。如:"Content-Length:0" |
Content-Type | 响应体类型及格式。如:"Content-Type: application/xml;charset=UTF-8" |
Date |
响应的时间和日期。格式:DDD dd MMM yyyy HH:mm:ss GMT 如:"Date: Wed, 19 Oct 2016 06:48:03 GMT" |
Server | 执行请求的服务端版本。默认为 HCP 的版本,如:"Server: HCP V7.2.0.26" |
Transfer-Encoding | 分块传输。如:"Transfer-Encoding: chunked" |
名称 | headBucket | |
描述 | 检测桶是否存在 | |
请求语法 |
HEAD / HTTP/1.1 Host: bucket-name.tenant-name.hcp-domain name Authorization: authorization string Date: date |
|
请求参数 | 无 | |
请求头部 | Host | 请求的主机,bucketname 是要检测的桶名称 |
Autho rizatio n |
认证信息。参考“通用请求头”。 | |
Date | 请求时间。参考“通用请求头”。 | |
请求体 | 无 | |
响应头部 | Server | 响应的服务器版本号。 |
Conte nt-Len gth | 响应体长度。参考“通用响应头”。 | |
Date | 响应时间。参考“通用响应头”。 | |
响应体 | 无 | |
响应状态码 | 200 | 桶存在。 |
403 |
1、认证信息不正确; 2、桶存在,当前请求用户没有读权限; 3、桶没有开启 HS3 协议; |
|
404 | 桶不存在。 | |
500 | 请求超时或内部错误,请重试。 | |
503 |
服务无效。原因可能如下: 1、系统正在重启; 2、运维中; |
|
3、升级中; | ||
请求示例 |
HEAD / HTTP/1.1 Host: testnamespace.t1.hcp-demo.hcpdemo.com Authorization: AWS bmV0c2tpbGw=:MEbc5/Gcgfwj5h1cn5oSifFoDUA= Date: Wed, 19 Oct 2016 03:04:30 GMT |
|
响应示例 |
HTTP/1.1 200 OK Date: Wed, 19 Oct 2016 03:04:31 GMT Server: HCP V7.2.0.26 Content-Length: 0 |
|
规则约束 | 无 |
名称 | createBucket | ||
描述 | 创建桶 | ||
请求语法 |
PUT / HTTP/1.1 Host: bucket-name.tenant-name.hcp-domain name Authorization: authorization string Date: date |
||
请求参数 | 无 | ||
请求头部 | Host | 请求的主机,bucketname 是要创建的桶名称。 | |
Authoriz ation | 认证信息。参考“通用请求头”。 | ||
Date | 请求时间。参考“通用请求头”。 | ||
请求体 | 无 | ||
响应头部 | Server | 响应的服务器版本号。 | |
Content- Length |
响应体长度。参考“通用响应头”。 | ||
Date | 响应时间。参考“通用响应头”。 | ||
Location | 创建成功的桶名称。 | ||
响应体 |
1、当桶存在,且桶的创建者是桶的所有者时。返回响应体,表明桶已经存在。如下: <?xml version='1.0' encoding='UTF-8'?> <Error> <Code>BucketAlreadyOwnedByYou</Code> <Message>Your previous request to create the named bucket succeeded and you already own it</Message> <RequestId>1476858672246</RequestId> <HostId>aGNwLWRlbW8uaGNwZGVtby5jb206MjIw</HostId> </Error> 2、当桶不存在,且创建成功,无响应体。 |
||
响应状态码 | 200 |
1、桶创建成功; 2、桶存在,并且你是此桶的所有者; |
|
400 |
1、桶名格式不正确; 2、桶 ACL 权限设置不正确; 3、桶的数量超过最大值,最多只能 10000 个桶; 4、没有足够的空间可以创建桶,桶的默认空间最小是 50G; |
||
403 |
1、认证信息不正确; 2、创建都没有创建桶的权限; 3、租户没有开启 HS3 API; |
||
409 | 冲突。桶已存在,创建都不是桶的所有者; | ||
503 |
服务无效。原因可能如下: 4、系统正在重启; 5、运维中; 6、升级中; |
||
500 | 请求超时或内部错误,请重试。 | ||
请求示例 |
PUT / HTTP/1.1 Host: testnamespace.t1.hcp-demo.hcpdemo.com Authorization: AWS bmV0c2tpbGw=:MEbc5/Gcgfwj5h1cn5oSifFoDUA= Date: Wed, 19 Oct 2016 03:04:30 GMT |
||
响应示例 |
HTTP/1.1 200 OK Date: Wed, 19 Oct 2016 03:04:31 GMT Server: HCP V7.2.0.26 Content-Length: 0 Location: /testnamespace3 |
||
规则约束 |
1、桶名称规则 a) 长度是 1 到 63; b) 由字符或数字组合构成,可以包含符号“-”,但此符号不能放在首尾;不允许包含空格; c) 不区分大小写,默认应是小写的; 2、桶的所有者 a) 创建者默认是此桶所有者(owner); b) 桶所有者可以变更; |
||
名称 | listBuckets | ||
描述 | 列出桶 | ||
请求语法 | GET / HTTP/1.1 | ||
Host: tenant-name.hcp-domain name Authorization: authorization string Date: date |
|||
请求参数 | 无 | ||
请求头部 | Host | 请求的主机。 | |
Authoriz ation | 认证信息。参考“通用请求头”。 | ||
Date | 请求时间。参考“通用请求头”。 | ||
请求体 | 无 | ||
响应头部 | Server | 响应的服务器版本号。 | |
Content- Type |
响应体类型及编码。参考“通用响应头”。 | ||
Date | 响应时间。参考“通用响应头”。 | ||
Transfer- Encoding |
响应体分块传输。参考“通用响应头”。 | ||
响应体 |
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <ListAllMyBucketsResult xmlns="http://s3.amazonaws.com/doc/2006-03-01/"> <!--桶所有者信息--> <Owner> <!--桶所有者 ID--> <ID>bucket-owner-user-id</ID> <DisplayName>bucket-owner-username</DisplayName> </Owner> <!--桶信息--> <Buckets> <Bucket> <!--桶名称--> |
||
<Name>bucket-name</Name> <CreationDate>bucket-creation-date-and-time</CreationDate> </Bucket> <!--如果有多个桶,显示多个桶的信息--> ...... </Buckets> </ListAllMyBucketsResult> |
|||
响应状态码 | 200 | 成功; | |
403 |
1、认证信息不正确; 2、租户不存在; 3、租户没有开启 HS3 API; |
||
503 | 服务无效。原因可能如下:系统正在重启;运维中;升级中; | ||
500 | 请求超时或内部错误,请重试。 | ||
请求示例 |
GET / HTTP/1.1 Host: t1.hcp-demo.hcpdemo.com Authorization: AWS bmV0c2tpbGw=:MEbc5/Gcgfwj5h1cn5oSifFoDUA= Date: Wed, 19 Oct 2016 03:04:30 GMT |
||
响应示例 |
HTTP/1.1 200 OK Date: Wed, 19 Oct 2016 03:04:31 GMT Server: HCP V7.2.0.26 Content-Type: application/xml;charset=UTF-8 Transfer-Encoding: chunked |
||
响应体示例 |
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <ListAllMyBucketsResult xmlns="http://s3.amazonaws.com/doc/2006-03-01/"> <Owner> <ID>83813c7e-dd96-4570-8556-813b6a997ff7</ID> <DisplayName>netskill</DisplayName> </Owner> |
||
<Buckets> <Bucket> <Name>n1</Name> <CreationDate>2016-08-29T10:22:06.534Z</CreationDate> </Bucket> <Bucket> <Name>source</Name> <CreationDate>2016-08-31T01:08:31.918Z</CreationDate> </Bucket> <Bucket> <Name>testnamespace</Name> <CreationDate>2016-09-28T01:40:45.757Z</CreationDate> </Bucket> <Bucket><Name>testnamespace3</Name> <CreationDate>2016-10-20T03:59:53.801Z</CreationDate> </Bucket> </Buckets> </ListAllMyBucketsResult> |
|||
规则约束 | 无 | ||
名称 | listObjects | |
描述 | 列出桶对象 | |
请求语法 |
GET /?prefix=&delimiter=/ HTTP/1.1 Host: bucket-name.tenant-name.hcp-domain name Authorization: authorization string Date: date Content-Type: application/octet-stream |
|
请求参数 | prefix 对象前缀,指定此参数可列出所有以此前缀开头的对象; delimiter 分隔符,批定此参数为“/”,可以确保不列出子目录中的对象; | |
请求头部 | Host | 请求的主机,bucketname 是要检测的桶名称 |
Authorization | 认证信息。参考“通用请求头”。 | |
Date | 请求时间。参考“通用请求头”。 | |
Content-Type | 请求体内容类型。 | |
请求体 | 无 | |
响应头部 | Server | 响应的服务器版本号。 |
Content-Type | 响应体类型。如:application/xml;charset=UTF-8 | |
Date | 响应时间。参考“通用响应头”。 | |
Transfer-Encod ing | Chunked。参考“通用响应头”。 | |
响应体 |
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <ListBucketResult xmlns="http://s3.amazonaws.com/doc/2006-03-01/"> <Name>桶名称</Name> <Prefix>对象前缀</Prefix> <Marker>上一返回的对象列表中,最后一个对象的 key;用于分页返回结果。如果此值为空,则返回第一页</Marker> <MaxKeys>返回的对象数</MaxKeys> <Delimiter>如果指定为“/”可以限定不返回子目录对象;如果不指定,返回所有满足条件的对象</Delimiter> |
|
<IsTruncated>所有匹配的对象是否已全部返回,true 代表还有对象没有返回,false 代表所有对象都返回了</IsTruncated> <Contents> <Key>对象 key</Key> <LastModified>对象最后修改时间</LastModified> <ETag>对象标识</ETag> <Size>对象大小</Size> <Owner> <ID>对象所有者 ID</ID> <DisplayName>对象所有者名称</DisplayName></Owner> <StorageClass>存储方式,值 STANDARD</StorageClass> </Contents> <CommonPrefixes> <Prefix>通用前缀,这一般为一个子目录,子目录还有对象</Prefix> </CommonPrefixes> </ListBucketResult> |
||
响应状态码 | 200 | 成功 |
403 |
1、认证信息不正确; 2、当前请求用户不是桶的所有者; 3、桶没有开启 HS3 协议; |
|
404 | 桶不存在。 | |
500 | 请求超时或内部错误,请重试。 | |
503 |
服务无效。原因可能如下: 1、系统正在重启; |
|
2、运维中; 3、升级中; |
||
请求示例 |
GET /?prefix=13/&delimiter=/ HTTP/1.1 Host: testnamespace.t1.hcp-demo.hcpdemo.com Authorization: AWS bmV0c2tpbGw=:rgOMBkxNkGKKDtDjaDmB4unECzg= Date: Thu, 20 Oct 2016 11:19:49 GMT Content-Type: application/octet-stream Connection: Keep-Alive |
|
响应示例 |
HTTP/1.1 200 OK Date: Thu, 20 Oct 2016 09:05:28 GMT Server: HCP V7.2.0.26 Content-Type: application/xml;charset=UTF-8 Transfer-Encoding: chunked |
|
响应体示例 |
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <ListBucketResult xmlns="http://s3.amazonaws.com/doc/2006-03-01/"> <Name>testnamespace</Name> <Prefix>13/</Prefix> <Marker></Marker> <MaxKeys>1000</MaxKeys> <Delimiter>/</Delimiter> <IsTruncated>false</IsTruncated> <Contents> <Key>13/</Key> <LastModified>2016-10-19T14:05:00.112Z</LastModified> <ETag>"d41d8cd98f00b204e9800998ecf8427e"</ETag> <Size>0</Size> <Owner><ID>nobody</ID><DisplayName>nobody</DisplayName></Owner> |
|
<StorageClass>STANDARD</StorageClass> </Contents> <Contents> <Key>13/52.0.2743.116.manifest</Key> <LastModified>2016-10-20T10:57:50.154Z</LastModified> <ETag>"764bdbd95244e2e8f3bd91697a234db2"</ETag> <Size>252</Size> <Owner><ID>83813c7e-dd96-4570-8556-813b6a997ff7</ID><DisplayName>ne tskill</DisplayName></Owner> <StorageClass>STANDARD</StorageClass> </Contents> <CommonPrefixes> <Prefix>13/123/</Prefix> </CommonPrefixes> </ListBucketResult> |
||
规则约束 |
名称 | listObjects | |
描述 | 列出桶对象 | |
请求语法 |
GET /?prefix=&marker=&max-keys=&delimiter=/ HTTP/1.1 Host: bucket-name.tenant-name.hcp-domain name Authorization: authorization string Date: date |
|
Content-Type: application/octet-stream | ||
请求参数 | prefix 对象前缀,指定此参数可列出所有以此前缀开头的对象; delimiter 分隔符,批定此参数为“/”,可以确保不列出子目录中的对象; marker 上一次返回的对象列表中,最后一个对象 key;如果不指定或为空则返回第一页对象; max-keys 指定一次返回几个对象; | |
请求头部 | Host | 请求的主机,bucketname 是要检测的桶名称 |
Authorization | 认证信息。参考“通用请求头”。 | |
Date | 请求时间。参考“通用请求头”。 | |
Content-Type | 请求体内容类型。 | |
请求体 | 无 | |
响应头部 | Server | 响应的服务器版本号。 |
Content-Type | 响应体类型。如:application/xml;charset=UTF-8 | |
Date | 响应时间。参考“通用响应头”。 | |
Transfer-Encod ing | Chunked。参考“通用响应头”。 | |
响应体 |
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <ListBucketResult xmlns="http://s3.amazonaws.com/doc/2006-03-01/"> <Name>桶名称</Name> <Prefix>对象前缀</Prefix> <Marker>上一返回的对象列表中,最后一个对象的 key;用于分页返回结果。如果此值为空,则返回第一页</Marker> <MaxKeys>返回的对象数</MaxKeys> <Delimiter>如果指定为“/”可以限定不返回子目录对象;如果不指定,返回所有满足条件的对象</Delimiter> <IsTruncated>所有匹配的对象是否已全部返回,true 代表还有对象没有返回,false 代表所有对象都返回了</IsTruncated> |
|
<Contents> <Key>对象 key</Key> <LastModified>对象最后修改时间</LastModified> <ETag>对象标识</ETag> <Size>对象大小</Size> <Owner> <ID>对象所有者 ID</ID> <DisplayName>对象所有者名称</DisplayName></Owner> <StorageClass>存储方式,值 STANDARD</StorageClass> </Contents> <CommonPrefixes> <Prefix>通用前缀,这一般为一个子目录,子目录还有对象</Prefix> </CommonPrefixes> </ListBucketResult> |
||
响应状态码 | 200 | 成功 |
403 |
1、认证信息不正确; 2、当前请求用户不是桶的所有者; 3、桶没有开启 HS3 协议; |
|
404 | 桶不存在。 | |
500 | 请求超时或内部错误,请重试。 | |
503 |
服务无效。原因可能如下: 1、系统正在重启; 2、运维中; 3、升级中; |
|
请求示例 |
GET /?prefix=13/&marker=13/123/&max-keys=2&delimiter=/ HTTP/1.1 Host: testnamespace.t1.hcp-demo.hcpdemo.com |
|
Authorization: AWS bmV0c2tpbGw=:rgOMBkxNkGKKDtDjaDmB4unECzg= Date: Thu, 20 Oct 2016 11:19:49 GMT Content-Type: application/octet-stream Connection: Keep-Alive |
||
响应示例 |
HTTP/1.1 200 OK Date: Thu, 20 Oct 2016 09:05:28 GMT Server: HCP V7.2.0.26 Content-Type: application/xml;charset=UTF-8 Transfer-Encoding: chunked |
|
响应体示例 |
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <ListBucketResult xmlns="http://s3.amazonaws.com/doc/2006-03-01/"> <Name>testnamespace</Name> <Prefix>13/</Prefix> <Marker>13/123/</Marker> <MaxKeys>2</MaxKeys> <Delimiter>/</Delimiter> <IsTruncated>false</IsTruncated> <Contents> <Key>13/</Key> <LastModified>2016-10-19T14:05:00.112Z</LastModified> <ETag>"d41d8cd98f00b204e9800998ecf8427e"</ETag> <Size>0</Size> <Owner><ID>nobody</ID><DisplayName>nobody</DisplayName></Owner> <StorageClass>STANDARD</StorageClass> </Contents> <Contents> |
|
<Key>13/52.0.2743.116.manifest</Key> <LastModified>2016-10-20T10:57:50.154Z</LastModified> <ETag>"764bdbd95244e2e8f3bd91697a234db2"</ETag> <Size>252</Size> <Owner><ID>83813c7e-dd96-4570-8556-813b6a997ff7</ID><DisplayName>ne tskill</DisplayName></Owner> <StorageClass>STANDARD</StorageClass> </Contents> <CommonPrefixes> <Prefix>13/123/</Prefix> </CommonPrefixes> </ListBucketResult> |
||
规则约束 |
名称 | setBucketVersioningConfiguration | ||
描述 | 开启、关闭、暂停桶版本 | ||
请求语法 |
PUT /?versioning HTTP/1.1 Host: bucket-name.tenant-name.hcp-domain name Authorization: authorization string Content-Type: application/octet-stream Content-Length: 请求体长度 Date: date |
||
请求参数 | versioning | ||
请求头部 | Host | 请求的主机,bucketname 是要创建的桶名称。 | |
Authoriz ation | 认证信息。参考“通用请求头”。 | ||
Date | 请求时间。参考“通用请求头”。 | ||
Content- Type |
application/octet-stream | ||
Content- Length |
请求体长度 | ||
请求体 |
<VersioningConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/"> <!--开启、关闭版本需要设置的值,共有三值可选:ENABLED 、OFF 、 SUSPENDED--> <Status>开启,关闭,暂停三个可选值</Status> </VersioningConfiguration> |
||
响应头部 | Server | 响应的服务器版本号。 | |
Location | 桶名称。 | ||
Date | 响应时间。参考“通用响应头”。 | ||
Content- Length |
响应体长度。 | ||
响应体 | 无 | ||
响应状态码 | 200 | 成功 | |
400 |
请求体的 XML 格式不正确或开启、关闭、暂停版本功能的值(三值可 选:ENABLED 、OFF 、SUSPENDED)不正确。 |
||
403 |
1、认证信息不正确; 2、当前请求用户不是桶的 owner; 3、桶没有开启 HS3 API; |
||
404 | 桶不存在; | ||
503 |
服务无效。原因可能如下: a) 系统正在重启; b) 运维中; c) 升级中; |
||
500 | 请求超时或内部错误,请重试。 | ||
请求示例 |
PUT /?versioning HTTP/1.1 Host: testnamespace3.t1.hcp-demo.hcpdemo.com Authorization: AWS bmV0c2tpbGw=:8zPBDS9bC8OlapKoptyJJQVPiiw= Date: Thu, 20 Oct 2016 08:12:00 GMT Content-Type: application/octet-stream Content-Length: 123 Connection: Keep-Alive Expect: 100-continue |
||
请求体示例 |
<VersioningConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/"> <Status>Enabled</Status> </VersioningConfiguration> |
||
响应示例 |
HTTP/1.1 200 OK Date: Thu, 20 Oct 2016 08:12:00 GMT Server: HCP V7.2.0.26 Location: /testnamespace3 Content-Length: 0 |
||
规则约束 | |||
名称 | getBucketVersioningConfiguration | ||
描述 | 得到桶的版本信息 | ||
请求语法 |
GET /?versioning HTTP/1.1 Host: tenant-name.hcp-domain name Authorization: authorization string Content-Type: application/octet-stream Date: date |
||
请求参数 | versioning | ||
请求头部 | Host | 请求的主机。 | |
Authoriz ation | 认证信息。参考“通用请求头”。 | ||
Date | 请求时间。参考“通用请求头”。 | ||
Content- Type |
application/octet-stream | ||
请求体 | 无 | ||
响应头部 | Server | 响应的服务器版本号。 | |
Content- Type |
响应体类型及编码。参考“通用响应头”。 | ||
Date | 响应时间。参考“通用响应头”。 | ||
Transfer- Encoding |
响应体分块传输。参考“通用响应头”。 | ||
响应体 |
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <VersioningConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/"> <Status>桶的版本信息,三个可能值(ENABLED 、OFF 、SUSPENDED) </Status> </VersioningConfiguration> |
||
响应状态码 | 200 | 成功; | |
403 |
1、认证信息不正确; 2、当前用户不是桶的 owner; 3、租户或桶没有开启 HS3 API; |
||
503 | 服务无效。原因可能如下:系统正在重启;运维中;升级中; | ||
500 | 请求超时或内部错误,请重试。 | ||
404 | 桶不存在。 | ||
请求示例 | GET / HTTP/1.1 | ||
Host: t1.hcp-demo.hcpdemo.com Authorization: AWS bmV0c2tpbGw=:MEbc5/Gcgfwj5h1cn5oSifFoDUA= Date: Wed, 19 Oct 2016 03:04:30 GMT Content-Type: application/octet-stream Connection: Keep-Alive |
|||
响应示例 |
HTTP/1.1 200 OK Date: Wed, 19 Oct 2016 03:04:31 GMT Server: HCP V7.2.0.26 Content-Type: application/xml;charset=UTF-8 Transfer-Encoding: chunked |
||
响应体示例 |
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <VersioningConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/"> <Status>ENABLED</Status> </VersioningConfiguration> |
||
规则约束 | 无 | ||
名称 | doesObjectExist | |
描述 | 检测对象是否存在 | |
请求语法 |
HEAD /对象 key HTTP/1.1 Host: bucket-name.tenant-name.hcp-domain name Authorization: authorization string Date: date Content-Type: application/octet-stream |
|
请求参数 | 无 | |
请求头部 | Host | 请求的主机,bucketname 是要检测的桶名称 |
Autho rizatio n |
认证信息。参考“通用请求头”。 | |
Date | 请求时间。参考“通用请求头”。 | |
Conte nt-Typ e: | 请求体内容类型。 | |
请求体 | 无 | |
响应头部 | Server | 响应的服务器版本号。 |
Conte nt-Len gth | 响应体长度。参考“通用响应头”。 | |
Date | 响应时间。参考“通用响应头”。 | |
响应体 | 无 | |
响应状态码 | 200 | 对象存在。 |
403 |
1、认证信息不正确; 2、当前用户没有桶或对象的 read 权限; 3、桶没有开启 HS3 协议; |
|
404 |
1、对象或桶或对象的指定版本不存在。; 2、指定的对象版本是一个已经删除的对象版本; |
|
500 | 请求超时或内部错误,请重试。 | |
503 |
服务无效。原因可能如下: 1、系统正在重启; 2、运维中; 3、升级中; |
|
请求示例 |
HEAD /testFile.xlsx HTTP/1.1 Host: testnamespace3.t1.hcp-demo.hcpdemo.com Authorization: AWS bmV0c2tpbGw=:3W2EcpAeld2/1LE2iI08lVbIuqo= Date: Thu, 20 Oct 2016 09:05:28 GMT Content-Type: application/octet-stream |
|
响应示例 |
HTTP/1.1 200 OK Date: Thu, 20 Oct 2016 09:05:28 GMT Server: HCP V7.2.0.26 ETag: "6ad94b3ce320201d2a5cadca222f9f8e" Accept-Ranges: bytes x-amz-version-id: 94525024140929 Last-Modified: Thu, 20 Oct 2016 08:51:42 GMT Content-Length: 13487 Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=ISO -8859-1 |
|
规则约束 |
1、如果检测对象是否存在,要指定完整的对象 key。举例:dir123/testFile.xlsx 2、如果检测目录是否存在,要指定目录 key。举例:dir123/ |
名称 | putObject | ||
描述 | 创建对象 | ||
请求语法 |
PUT 对象 key HTTP/1.1 Host: bucket-name.tenant-name.hcp-domain name Authorization: authorization string Content-Length: 请求体长度 |
||
Date: date | |||
请求参数 | 无 | ||
请求头部 | Host | 请求的主机,bucketname 是要创建的桶名称。 | |
Authoriz ation | 认证信息。参考“通用请求头”。 | ||
Date | 请求时间。参考“通用请求头”。 | ||
Content- Length |
请求体长度 | ||
Content- MD5 |
文件内容的 md5 值。不是必选项。 | ||
请求体 | 文件内容 stream | ||
响应头部 | Server | 响应的服务器版本号。 | |
Content- Length |
响应体长度。参考“通用响应头”。 | ||
Date | 响应时间。参考“通用响应头”。 | ||
ETag | 对象的唯一标识。 | ||
x-amz-ve rsion-id | 对象的版本编号。如果版本开启,则返回;否则不返回。 | ||
响应体 | 无 | ||
响应状态码 | 200 | 成功 | |
400 |
1、本地计算的 md5 值和文件上传成功后 HCP 返回的 MD5 值不一致; 2、创建对象的同时指定了 ACL 值,但此值无效; |
||
403 |
1、认证信息不正确; 2、当前用户没有向桶中存储对象的权限; 3、桶没有开启 HS3 API; |
||
404 | 桶不存在; | ||
503 | 服务无效。原因可能如下: | ||
d) 系统正在重启; e) 运维中; f) 升级中; |
|||
500 | 请求超时或内部错误,请重试。 | ||
409 |
1、相同 key 的对象已存在,只有当桶的版本功能没有开启时有效; 2、相同 key 的目录存在; |
||
413 | 桶空间不足,对象太大; | ||
请求示例 |
PUT /123.txt HTTP/1.1 Host: testnamespace3.t1.hcp-demo.hcpdemo.com Authorization: AWS bmV0c2tpbGw=:1cL4Ng2bSQ9bwkqLuYRHgTIKsgs= Date: Thu, 20 Oct 2016 09:43:00 GMT Content-MD5: zwgy3t90V7vL+gC72HswCg== Content-Type: text/plain Content-Length: 4 Connection: Keep-Alive Expect: 100-continue |
||
请求体示例 | 文件内容 stream | ||
响应示例 |
HTTP/1.1 200 OK Date: Thu, 20 Oct 2016 09:43:00 GMT Server: HCP V7.2.0.26 ETag: "cf0832dedf7457bbcbfa00bbd87b300a" x-amz-version-id: 94525221186177 Content-Length: 0 |
||
规则约束 |
1、创建文件对象。当对象 key 不以“/”结尾,代表创建文件对象,举例:123/ 中国.txt ; 2、创建目录对象。当对象 key 以“/”结尾,代表创建目录对象,举例:123/ ; |
||
名称 | deleteObject | |
描述 | 删除对象 | |
请求语法 |
DELETE /对象 key?versionId=版本编号 HTTP/1.1 Host: bucket-name.tenant-name.hcp-domain name Authorization: authorization string Date: date Content-Type: application/octet-stream |
|
请求参数 | versionId。 对象版本编号。此参数如果不指定,删除当前版本。 | |
请求头部 | Host | 请求的主机,bucketname 是要检测的桶名称 |
Authorization | 认证信息。参考“通用请求头”。 | |
Date | 请求时间。参考“通用请求头”。 | |
Content-Type | 请求体内容类型。 | |
请求体 | 无 | |
响应头部 | Server | 响应的服务器版本号。 |
x-amz-versionid | 对象版本号,当版本开启时才返回 | |
Date | 响应时间。参考“通用响应头”。 | |
x-amz-deletemarker | 标识对象版本已删除,当版本开启时有效。 | |
x-amz-versionid | 返回删除对象或目录的版本号。只有当版本功能开启,才会返回。 | |
响应体 | 无 | |
响应状态码 | 204 |
1、对象或目录删除成功; 2、对象或目录不存在; |
403 |
1、认证信息不正确; 2、当前请求用户没有删除权; |
|
3、桶没有开启 HS3 协议; 4、参数 versionId 传递了要删除的对象版本号,但是此对象已经被删除; |
||
404 | 桶不存在。 | |
500 | 请求超时或内部错误,请重试。 | |
503 |
服务无效。原因可能如下: 1、系统正在重启; 2、运维中; 3、升级中; |
|
409 | 对象设置的 retention 级别不允许删除; | |
501 | 参数 versionId 指定的版本号不是对象的当前版本号,HCP 只支持删除当前版本; | |
请求示例 |
DELETE /test.xls HTTP/1.1 Host: testnamespace3.t1.hcp-demo.hcpdemo.com Authorization: AWS bmV0c2tpbGw=:V3DCa1lx9oXeYzd9STAoK+THnTI= Date: Thu, 20 Oct 2016 11:33:41 GMT Content-Type: application/octet-stream Connection: Keep-Alive |
|
响应示例 |
HTTP/1.1 204 No Content Date: Thu, 20 Oct 2016 09:05:28 GMT Server: HCP V7.2.0.26 x-amz-version-id: 94525645227841 x-amz-delete-marker: true |
|
规则约束 |
1、HCP 只支持删除当前版本; 2、对象 key 以“/”结尾代表要删除一个目录对象; 3、非空目录不能删除; 4、如果没有开启版本功能,对象被删除; |
|
5、如果开启版本功能,删除操作会产生一个新的版本; |
名称 | copyObject | ||
描述 | 复制对象 | ||
请求语法 |
PUT /目标对象 key HTTP/1.1 Host: bucket-name.tenant-name.hcp-domain name Authorization: authorization string Content-Length: 请求体长度 Content-Type: application/octet-stream x-amz-copy-source: 源对象 key?versionId=版本编号 Date: date |
||
请求参数 | 无 | ||
请求头部 | Host | 请求的主机,bucketname 是要创建的桶名称。 | |
Authoriz ation | 认证信息。参考“通用请求头”。 | ||
Date | 请求时间。参考“通用请求头”。 | ||
Content- Length |
请求体长度 | ||
x-amz-co py-sourc e |
源对象 key。 versionId 为源对象指定版本号,可复制源对象的某个版本。如果不指定,复制对象的当前版本。如: x-amz-copy-source: /testnamespace3/jodconverter-cli-2.2.0.jar.zip?versionid=1231234 |
||
请求体 | 无 | ||
响应头部 | Server | 响应的服务器版本号。 | |
Date | 响应时间。参考“通用响应头”。 | ||
ETag | 对象的唯一标识。 | ||
x-amz-ve rsion-id | 对象的版本编号。如果版本开启,则返回;否则不返回。 | ||
x-amz-co py-sourc e-version -id |
源对象的版本号。仅当版本功有开启有效。 | ||
Content- Type |
返回的响应体类型。 | ||
Transfer- Encoding |
Chunked。参考“通用响应头”。 | ||
响应体 |
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <CopyObjectResult xmlns="http://s3.amazonaws.com/doc/2006-03-01/"> <LastModified>目标对象的最后修改时间</LastModified> <ETag>目标对象的唯一标识</ETag> </CopyObjectResult> |
||
响应状态码 | 200 | 成功 | |
400 | 在复制对象时设置的 ACL 请求头不正确; | ||
403 |
1、认证信息不正确; 2、当前用户权限不足。当前用户必须有源桶的读取权限,目标桶的写权限; 4、桶没有开启 HS3 API; |
||
404 |
1、源对象不存在; 2、如果指定了版本号。源对象的此版本可能不存在,或此版本是一个被删除的版本; 3、源桶不存在; |
||
503 | 服务无效。原因可能如下: | ||
g) 系统正在重启; h) 运维中; i) 升级中; |
|||
500 | 请求超时或内部错误,请重试。 | ||
409 | 1、目标对象已存在。如果版本没有开启,就会产生冲突;但是,如果版本开启,就不影响; | ||
413 | 目标桶空间不足,对象太大; | ||
请求示例 |
PUT /123.rar HTTP/1.1 Host: testnamespace3.t1.hcp-demo.hcpdemo.com Authorization: AWS bmV0c2tpbGw=:yL9NKIM+Ko87y+u4YGkr6LBG1Tw= x-amz-copy-source: /testnamespace3/jodconverter-cli-2.2.0.jar.zip?versionid=1231234 Date: Fri, 21 Oct 2016 00:30:24 GMT Content-Type: application/octet-stream Content-Length: 0 Connection: Keep-Alive |
||
请求体 | 无 | ||
响应示例 |
HTTP/1.1 200 OK Date: Thu, 20 Oct 2016 09:43:00 GMT Server: HCP V7.2.0.26 ETag: "cf0832dedf7457bbcbfa00bbd87b300a" x-amz-version-id: 94525221186177 x-amz-copy-source-version-id: 94528584835137 Content-Type: application/xml;charset=UTF-8 Transfer-Encoding: chunked |
||
响应体示例 |
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <CopyObjectResult |
||
xmlns="http://s3.amazonaws.com/doc/2006-03-01/"><LastModified>2016-10-21T0 0:30:24.000Z</LastModified> <ETag>"f7701509609a33b8db56c3e1975670d1"</ETag> </CopyObjectResult> |
|||
规则约束 |
1、当前用户的权限。源桶的读取权限,目标桶的写权限; 2、可复制指定版本的对象,需指定版本号。如果不指定,默认复制当前版本; 3、对象的元数据会一并复制; |
||
名称 | getObject | |
描述 | 读取对象或读取对象的某一部分 | |
请求语法 |
GET /对象 key?versionId=版本号 HTTP/1.1 Host: bucket-name.tenant-name.hcp-domain name Authorization: authorization string Date: date Content-Type: application/octet-stream Range: bytes=起始位置-偏移量 |
|
请求参数 | versionId 要读取的对象版本号。如果不指定,读取对象的当前版本。 | |
请求头部 | Host | 请求的主机,bucketname 是要检测的桶名称 |
Authorization | 认证信息。参考“通用请求头”。 | |
Date | 请求时间。参考“通用请求头”。 | |
Content-Type | 请求体内容类型。 | |
Range | bytes=起始位置-偏移量 | |
请求体 | 无 | |
响应头部 | Server | 响应的服务器版本号。 |
Content-Type | 响应体类型。如:application/vnd.ms-excel | |
Date | 响应时间。参考“通用响应头”。 | |
Content-Lengt h | 响应体长度。参考“通用响应头”。 | |
ETag | 对象标识; | |
x-amz-versionid | 对象版本号。只有当版本开启时有效; | |
Last-Modified | 对象最后修改时间; | |
Accept-Ranges | Bytes。接收的对象数据表示方式:字节。 | |
Content-Range | bytes 起始位置-偏移量/对象总大小 。对象内容范围。 | |
响应体 | stream | |
响应状态码 | 200 | 成功读取完整的对象 |
403 |
1、认证信息不正确; 2、当前请求用户没有桶或对象的读取权限; 3、桶没有开启 HS3 协议; |
|
404 |
1、对象或对象的指定版本不存在; 2、指定的对象版本是一个已经删除的版本; 3、要读取的对象是一个目录; 4、桶不存在; |
|
500 | 请求超时或内部错误,请重试。 | |
503 |
服务无效。原因可能如下: 1、系统正在重启; 2、运维中; 3、升级中; |
|
206 | 成功读取部分对象数据; | |
416 |
当读取对象的某一部分时有效 1、指定的起始值大于等于对象的最大字节; 2、偏移值是 0 ; |
|
请求示例 | GET /test.xls HTTP/1.1 | |
Host: testnamespace3.t1.hcp-demo.hcpdemo.com Authorization: AWS bmV0c2tpbGw=:rgOMBkxNkGKKDtDjaDmB4unECzg= Date: Thu, 20 Oct 2016 11:19:49 GMT Range: bytes=0-234 Content-Type: application/octet-stream Connection: Keep-Alive |
||
响应示例 |
HTTP/1.1 206 Partial Content Date: Thu, 20 Oct 2016 09:05:28 GMT Server: HCP V7.2.0.26 ETag: "739eb093174d36ec6b7630448d1a7746" Accept-Ranges: bytes x-amz-version-id: 94528941855937 Content-Type: application/vnd.ms-excel Content-Range: bytes 0-234/6656 Content-Length: 235 |
|
响应体示例 | 对象内容 stream | |
规则约束 |
名称 | listVersions | ||
描述 | 列出对象版本 | ||
请求语法 |
GET /?versions&prefix=对象 key HTTP/1.1 Host: tenant-name.hcp-domain name Authorization: authorization string |
||
Content-Type: application/octet-stream Date: date |
|||
请求参数 | versions 此参数表明,请求返回对象的版本信息; prefix 对象 key | ||
请求头部 | Host | 请求的主机。 | |
Authoriz ation | 认证信息。参考“通用请求头”。 | ||
Date | 请求时间。参考“通用请求头”。 | ||
Content- Type |
参考“通用请求头”。 | ||
请求体 | 无 | ||
响应头部 | Server | 响应的服务器版本号。 | |
Content- Type |
响应体类型及编码。参考“通用响应头”。 | ||
Date | 响应时间。参考“通用响应头”。 | ||
Transfer- Encoding |
响应体分块传输。参考“通用响应头”。 | ||
响应体 |
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <ListVersionsResult xmlns="http://s3.amazonaws.com/doc/2006-03-01/"> <Name>桶名称</Name> <Prefix>对象前缀,在此处等于对象 key</Prefix> <KeyMarker></KeyMarker> <VersionIdMarker> </VersionIdMarker> <MaxKeys>最多返回的对象数量</MaxKeys> <IsTruncated>是否全部返回,true 表明还有没有全部返回;false 表时已全部返 |
||
回</IsTruncated> <Version> <Key>对象 key</Key> <VersionId>对象版本号</VersionId> <IsLatest>是否是最新版本,true 表时是;false 表明不是</IsLatest> <LastModified>对象最后修改时间</LastModified> <ETag>"对象标识"</ETag> <Size>对象大小</Size> <Owner><ID>对象所有者 ID</ID> <DisplayName>对象所有者名称</DisplayName></Owner> <StorageClass>STANDARD</StorageClass> </Version> <!--表明此对象是一个已删除的对象--> <DeleteMarker> <Key>对象 key</Key> <VersionId>对象版本号</VersionId> <IsLatest>是否是最新版本,true 表时是;false 表明不是</IsLatest> <LastModified>对象最后修改时间</LastModified> <Owner><ID>对象所有者 ID</ID> <DisplayName>对象所有者名称</DisplayName> </Owner> </DeleteMarker> </ListVersionsResult> |
|||
响应状态码 | 200 | 成功; | |
403 |
1、认证信息不正确; 2、租户不存在; 3、桶没有开启 HS3 API; |
||
503 | 服务无效。原因可能如下:系统正在重启;运维中;升级中; | ||
500 | 请求超时或内部错误,请重试。 | ||
404 | 桶不存在 | ||
请求示例 |
GET /?versions&prefix=dir123/123.txt HTTP/1.1 Host: testnamespace3.t1.hcp-demo.hcpdemo.com Authorization: AWS bmV0c2tpbGw=:yIN11McTMWGgKR3WC7O2JCvM4b0= Date: Fri, 21 Oct 2016 03:09:38 GMT Content-Type: application/octet-stream Connection: Keep-Alive |
||
响应示例 |
HTTP/1.1 200 OK Date: Wed, 19 Oct 2016 03:04:31 GMT Server: HCP V7.2.0.26 Content-Type: application/xml;charset=UTF-8 Transfer-Encoding: chunked |
||
响应体示例 |
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <ListVersionsResult xmlns="http://s3.amazonaws.com/doc/2006-03-01/"> <Name>testnamespace3</Name> <Prefix>test.xls</Prefix> <KeyMarker></KeyMarker> <VersionIdMarker> </VersionIdMarker> <MaxKeys>1000</MaxKeys> <IsTruncated>false</IsTruncated> <Version> <Key>test.xls</Key> <VersionId>94525645227841</VersionId> |
||
<IsLatest>false</IsLatest> <LastModified>2016-10-20T11:33:26.708Z</LastModified> <ETag>"739eb093174d36ec6b7630448d1a7746"</ETag> <Size>6656</Size> <Owner><ID>83813c7e-dd96-4570-8556-813b6a997ff7</ID><DisplayName>netskill </DisplayName></Owner> <StorageClass>STANDARD</StorageClass> </Version> <DeleteMarker> <Key>test.xls</Key> <VersionId>94525646160641</VersionId> <IsLatest>false</IsLatest> <LastModified>2016-10-20T11:33:41.260Z</LastModified> <Owner><ID>83813c7e-dd96-4570-8556-813b6a997ff7</ID><DisplayName>netskill </DisplayName></Owner> </DeleteMarker> <Version> <Key>test.xls</Key> <VersionId>94528941855937</VersionId> <IsLatest>true</IsLatest> <LastModified>2016-10-21T01:51:56.567Z</LastModified> <ETag>"739eb093174d36ec6b7630448d1a7746"</ETag> <Size>6656</Size> <Owner><ID>83813c7e-dd96-4570-8556-813b6a997ff7</ID><DisplayName>netskill </DisplayName></Owner> <StorageClass>STANDARD</StorageClass> |
|||
</Version> </ListVersionsResult> |
|||
规则约束 | 无 | ||
名称 | setBucketAcl | ||
描述 | 为指定用户设置桶权限 | ||
请求语法 |
PUT /?acl HTTP/1.1 Host: bucket-name.tenant-name.hcp-domain name Authorization: authorization string Content-Type: text/plain Content-Length: 请求体长度 Date: date |
||
请求参数 | acl | ||
请求头部 | Host | 请求的主机,bucketname 是要创建的桶名称。 | |
Authoriz ation | 认证信息。参考“通用请求头”。 | ||
Date | 请求时间。参考“通用请求头”。 | ||
Content- Type |
请求体类型 | ||
Content- Length |
请求体长度 | ||
请求体 |
<AccessControlPolicy xmlns="http://s3.amazonaws.com/doc/2006-03-01/"> <Owner> <ID>桶所有者编号</ID> <DisplayName>桶所有者名称</DisplayName> </Owner> <AccessControlList> <Grant> <Grantee xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="CanonicalUser"> <ID>被授权用户的 ID</ID> </Grantee> <Permission>被授预的权限,参考“术语、码表”</Permission> </Grant> </AccessControlList> </AccessControlPolicy> |
||
响应头部 | Server | 响应的服务器版本号。 | |
Content- Length |
响应体长度。参考“通用响应头”。 | ||
Date | 响应时间。参考“通用响应头”。 | ||
响应体 | 无 | ||
响应状态码 | 200 | 成功 | |
400 |
1、请求体格式不正确或参数据值无效; 2、被授权者 ID 不存在或不正确; 3、你指定的权限无效; 4、同样的授权重复出现; |
||
403 | 1、认证信息不正确; | ||
2、当前授权人没有给其它用户授权的权限; 3、桶没有开启 HS3 API; |
|||
404 | 桶不存在; | ||
503 |
服务无效。原因可能如下: 7、系统正在重启; 8、运维中; 9、升级中; |
||
500 | 请求超时或内部错误,请重试。 | ||
请求示例 |
PUT /?acl HTTP/1.1 Host: testnamespace3.t1.hcp-demo.hcpdemo.com Authorization: AWS bmV0c2tpbGw=:XKTeGnF3j39ezcV3n0fMm+z30V0= User-Agent: aws-sdk-java/1.10.77 Windows_7/6.1 Java_HotSpot(TM)_64-Bit_Server_VM/25.91-b14/1.8.0_91 amz-sdk-invocation-id: 9530e024-ba90-4aa5-ab96-02b6d16bc27c amz-sdk-retry: 0/0/ Date: Thu, 20 Oct 2016 04:21:05 GMT Content-Type: text/plain Content-Length: 413 Connection: Keep-Alive Expect: 100-continue |
||
请求体示例 |
<AccessControlPolicy xmlns="http://s3.amazonaws.com/doc/2006-03-01/"> <Owner> <ID>83813c7e-dd96-4570-8556-813b6a997ff7</ID> <DisplayName>netskill</DisplayName> </Owner> <AccessControlList> <Grant> <Grantee xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" |
||
xsi:type="CanonicalUser"> <ID>83813c7e-dd96-457c-8556-813b6a997ff7</ID> </Grantee> <Permission>WRITE</Permission> </Grant> </AccessControlList> </AccessControlPolicy> |
|||
响应示例 |
HTTP/1.1 200 OK Date: Thu, 20 Oct 2016 04:21:05 GMT Server: HCP V7.2.0.26 Content-Length: 0 |
||
规则约束 | |||
名称 | setBucketAcl | |||
描述 | 为经过认证的用户设置桶权限 | |||
请求语法 |
PUT /?acl HTTP/1.1 Host: bucket-name.tenant-name.hcp-domain name Authorization: authorization string Content-Type: text/plain Content-Length: 请求体长度 Date: date |
|||
请求参数 | acl | |||
请求头部 | Host | 请求的主机,bucketname 是要创建的桶名称。 | ||
Authoriz ation | 认证信息。参考“通用请求头”。 | |||
Date | 请求时间。参考“通用请求头”。 | |||
Content- | 请求体类型 | |||
Type | ||||
Content- Length |
请求体长度 | |||
请求体 | <AccessCo | ntrolPolicy xmlns="http://s3.amazonaws.com/doc/2006-03-01/"> | ||
<Ow n | er> | |||
<ID>所有者 ID</ID> | ||||
<DisplayName>所有者名称</DisplayName> | ||||
</O w | ner> | |||
<Acc | essControlList> | |||
<Grant> | ||||
<Grantee | xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | |||
xsi:type=" | Group"> | |||
<URI | >http://acs.am | azonaws.com/groups/global/AuthenticatedUsers</URI> | ||
</Grantee> | ||||
<Permission>权限信息,参考“术语、码表”</Permission> | ||||
</Gr a | nt> | |||
</Ac c | essControlList> | |||
</AccessC | ontrolPolicy> | |||
响应头部 | Server | 响应的服务器版本号。 | ||
Content- Length |
响应体长度。参考“通用响应头”。 | |||
Date | 响应时间。参考“通用响应头”。 | |||
响应体 | 无 | |||
响应状态码 | 200 | 成功 | ||
400 |
1、请求体格式不正确或参数据值无效; 2、被授权者 ID 不存在或不正确; |
|||
3、你指定的权限无效; 4、同样的授权重复出现; |
||||
403 |
1、认证信息不正确; 2、当前授权人没有给其它用户授权的权限; 3、桶没有开启 HS3 API; |
|||
404 | 桶不存在; | |||
503 |
服务无效。原因可能如下: j) 系统正在重启; k) 运维中; l) 升级中; |
|||
500 | 请求超时或内部错误,请重试。 | |||
请求示例 |
PUT /?acl HTTP/1.1 Host: testnamespace3.t1.hcp-demo.hcpdemo.com Authorization: AWS bmV0c2tpbGw=:XKTeGnF3j39ezcV3n0fMm+z30V0= Date: Thu, 20 Oct 2016 04:21:05 GMT Content-Type: text/plain Content-Length: 413 Connection: Keep-Alive Expect: 100-continue |
|||
请求体示例 |
<AccessControlPolicy xmlns="http://s3.amazonaws.com/doc/2006-03-01/"> <Owner> <ID>83813c7e-dd96-4570-8556-813b6a997ff7</ID> <DisplayName>netskill</DisplayName> </Owner> <AccessControlList> <Grant> <Grantee xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="Group"> |
|||
<URI>http://acs.amazonaws.com/groups/global/AuthenticatedUsers</URI> </Grantee> <Permission>WRITE</Permission> </Grant> </AccessControlList> </AccessControlPolicy> |
||||
响应示例 |
HTTP/1.1 200 OK Date: Thu, 20 Oct 2016 04:21:05 GMT Server: HCP V7.2.0.26 Content-Length: 0 |
|||
规则约束 | ||||
名称 | setBucketAcl | |||
描述 | 为匿名用户设置桶权限 | |||
请求语法 |
PUT /?acl HTTP/1.1 Host: bucket-name.tenant-name.hcp-domain name Authorization: authorization string Content-Type: text/plain Content-Length: 请求体长度 Date: date |
|||
请求参数 | acl | |||
请求头部 | Host | 请求的主机,bucketname 是要创建的桶名称。 | ||
Authoriz ation | 认证信息。参考“通用请求头”。 | |||
Date | 请求时间。参考“通用请求头”。 | |||
Content- | 请求体类型 | |||
Type | ||||
Content- Length |
请求体长度 | |||
请求体 | <AccessCo | ntrolPolicy xmlns="http://s3.amazonaws.com/doc/2006-03-01/"> | ||
<Ow n | er> | |||
<ID>所有者 ID</ID> | ||||
<DisplayName>所有者名称</DisplayName> | ||||
</O w | ner> | |||
<Acc | essControlList> | |||
<Grant> | ||||
<Grantee | xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | |||
xsi:type=" | Group"> | |||
<URI>http://acs.amazonaws.com/groups/global/AllUsers</URI> | ||||
</Grantee> | ||||
<Permission>权限信息,参考“术语、码表”</Permission> | ||||
</Gr a | nt> | |||
</Ac c | essControlList> | |||
</AccessC | ontrolPolicy> | |||
响应头部 | Server | 响应的服务器版本号。 | ||
Content- Length |
响应体长度。参考“通用响应头”。 | |||
Date | 响应时间。参考“通用响应头”。 | |||
响应体 | 无 | |||
响应状态码 | 200 | 成功 | ||
400 |
1、请求体格式不正确或参数据值无效; 2、被授权者 ID 不存在或不正确; 3、你指定的权限无效; |
|||
4、同样的授权重复出现; | ||||
403 |
1、认证信息不正确; 2、当前授权人没有给其它用户授权的权限; 3、桶没有开启 HS3 API; |
|||
404 | 桶不存在; | |||
503 |
服务无效。原因可能如下: m) 系统正在重启; n) 运维中; o) 升级中; |
|||
500 | 请求超时或内部错误,请重试。 | |||
请求示例 |
PUT /?acl HTTP/1.1 Host: testnamespace3.t1.hcp-demo.hcpdemo.com Authorization: AWS bmV0c2tpbGw=:XKTeGnF3j39ezcV3n0fMm+z30V0= Date: Thu, 20 Oct 2016 04:21:05 GMT Content-Type: text/plain Content-Length: 413 Connection: Keep-Alive Expect: 100-continue |
|||
请求体示例 |
<AccessControlPolicy xmlns="http://s3.amazonaws.com/doc/2006-03-01/"> <Owner> <ID>83813c7e-dd96-4570-8556-813b6a997ff7</ID> <DisplayName>netskill</DisplayName> </Owner> <AccessControlList> <Grant> <Grantee xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="Group"> |
|||
<URI>htt p </Grantee> <Permission>R </Grant> <Grant> |
://acs.amazonaws.com/groups/global/AllUsers</URI> EAD</Permission> |
|||
<Grantee xsi:type="Group"> |
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | |||
<URI>http://acs.amazonaws.com/groups/global/AllUsers</URI> </Grantee> <Permission>WRITE</Permission> </Grant> </AccessControlList> </AccessControlPolicy> |
||||
响应示例 |
HTTP/1.1 200 OK Date: Thu, 20 Oct 2016 04:21:05 GMT Server: HCP V7.2.0.26 Content-Length: 0 |
|||
规则约束 | ||||
名称 | getBucketAcl | |||
描述 | 得到桶的访问控制列表 | |||
请求语法 |
GET /?acl HTTP/1.1 Host: bucket-name.tenant-name.hcp-domain name Authorization: authorization string Content-Type: application/octet-stream |
|||
Date: date | ||||
请求参数 | acl | |||
请求头部 | Host | 请求的主机,bucketname 是要创建的桶名称。 | ||
Authoriz ation | 认证信息。参考“通用请求头”。 | |||
Date | 请求时间。参考“通用请求头”。 | |||
Content- Type |
请求体类型 | |||
请求体 | 无 | |||
响应头部 | Server | 响应的服务器版本号。 | ||
Content- Type |
响应体长度。参考“通用响应头”。 | |||
Date | 响应时间。参考“通用响应头”。 | |||
Transfer- Encoding |
值“chunked”。参考“通用响应头”。 | |||
响应体 |
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <AccessControlPolicy xmlns="http://s3.amazonaws.com/doc/2006-03-01/"> <!--桶所有者信息--> <Owner> <ID>83813c7e-dd96-4570-8556-813b6a997ff7</ID> <DisplayName>netskill</DisplayName> </Owner> <!--访问控制列表信息--> <AccessControlList> <!--认证组用户的授权信息--> <Grant> <Grantee xsi:type="Group" |
|||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <URI>http://acs.amazonaws.com/groups/global/AuthenticatedUsers</URI> </Grantee> <Permission>WRITE</Permission> </Grant> <!--匿名组用户的授权信息--> <Grant> <Grantee xsi:type="Group" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <URI>http://acs.amazonaws.com/groups/global/AllUsers</URI> </Grantee> <Permission>READ</Permission> </Grant> <!--匿名组用户的授权信息--> <Grant> <Grantee xsi:type="Group" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <URI>http://acs.amazonaws.com/groups/global/AllUsers</URI> </Grantee> <Permission>WRITE</Permission> </Grant> <!--指定 ID 的用户授权信息--> <Grant> <Grantee xsi:type="CanonicalUser" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <ID>83813c7e-dd96-4570-8556-813b6a997ff7</ID> <DisplayName>netskill</DisplayName> |
||||
</Grantee> <Permission>FULL_CONTROL</Permission> </Grant> </AccessControlList> </AccessControlPolicy> |
||||
响应状态码 | 200 | 成功 | ||
403 |
1、认证信息不正确; 2、没有读取 ACL 的权限; 3、桶不支持此操作或桶没有开启 HS3 API; |
|||
404 | 桶不存在; | |||
503 |
服务无效。原因可能如下: p) 系统正在重启; q) 运维中; r) 升级中; |
|||
500 | 请求超时或内部错误,请重试。 | |||
请求示例 |
GET /?acl HTTP/1.1 Host: testnamespace3.t1.hcp-demo.hcpdemo.com Authorization: AWS bmV0c2tpbGw=:BxAIPjGPFLSQFnMWFsNqxKYjBhU= Date: Thu, 20 Oct 2016 07:08:49 GMT Content-Type: application/octet-stream Connection: Keep-Alive |
|||
响应示例 |
HTTP/1.1 200 OK Date: Thu, 20 Oct 2016 04:21:05 GMT Server: HCP V7.2.0.26 Content-Type: application/xml;charset=UTF-8 Transfer-Encoding: chunked |
|||
响应体示 | <?xml version="1.0" encoding="UTF-8" standalone="yes"?> | |||
例 |
<AccessControlPolicy xmlns="http://s3.amazonaws.com/doc/2006-03-01/"> <Owner> <ID>83813c7e-dd96-4570-8556-813b6a997ff7</ID> <DisplayName>netskill</DisplayName> </Owner> <AccessControlList> <Grant> <Grantee xsi:type="Group" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <URI>http://acs.amazonaws.com/groups/global/AuthenticatedUsers</URI> </Grantee> <Permission>WRITE</Permission> </Grant> <Grant> |
|||
<Grantee xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <URI>http://acs.amazonaws.com/groups/global/AllUsers</URI> </Grantee> <Permission>READ</Permission> </Grant> <Grant> |
xsi:type="Group" | |||
<Grantee xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <URI>http://acs.amazonaws.com/groups/global/AllUsers</URI> </Grantee> |
xsi:type="Group" | |||
<Permission>WRITE</Permission> </Grant> <Grant> <Grantee xsi:type="CanonicalUser" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <ID>83813c7e-dd96-4570-8556-813b6a997ff7</ID> <DisplayName>netskill</DisplayName> </Grantee> <Permission>FULL_CONTROL</Permission> </Grant> </AccessControlList> </AccessControlPolicy> |
||||
规则约束 | ||||
名称 | setObjectAcl | ||
描述 | 为指定用户设置对象权限 | ||
请求语法 |
PUT /对象 key?acl&versionId=版本号 HTTP/1.1 Host: bucket-name.tenant-name.hcp-domain name Authorization: authorization string Content-Type: text/plain Content-Length: 请求体长度 Date: date |
||
请求参数 |
acl versionId 对象版本号。如果不指定,为当前版本授权;如果指定,则为特定版本对象授权。 |
||
请求头部 | Host | 请求的主机,bucketname 是要创建的桶名称。 | |
Authoriz ation | 认证信息。参考“通用请求头”。 | ||
Date | 请求时间。参考“通用请求头”。 | ||
Content- Type |
请求体类型 | ||
Content- Length |
请求体长度 | ||
请求体 |
<AccessCo ntrolPolicy xmlns="http://s3.amazonaws.com/doc/2006-03-01/"> <Ow ner> <ID>对象所有者编号</ID> <DisplayName>对象所有者名称</DisplayName> </O wner> <Acc essControlList> <Gra nt> <Grantee xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type=" CanonicalUser"> <ID>被授权用户的 ID</ID> </Grantee> <Permission>被授预的权限,参考“术语、码表”</Permission> </Gr ant> </Ac cessControlList> </AccessC ontrolPolicy> |
||
响应头部 | Server | 响应的服务器版本号。 | |
Content- Length |
响应体长度。参考“通用响应头”。 | ||
Date | 响应时间。参考“通用响应头”。 | ||
响应体 | 无 | ||
响应状态码 | 200 | 成功 | |
400 |
1、求体格式不正确或参数据值无效; 2、被授权者 ID 不存在或不正确; 3、你指定的权限无效; 4、同样的授权重复出现; |
||
403 |
1、认证信息不正确; 2、当前授权人没有给其它用户授权的权限; 3、桶没有开启 HS3 API; |
||
404 | 对象不存在或桶不存在; | ||
503 |
服务无效。原因可能如下: 1、系统正在重启; 2、运维中; 3、升级中; |
||
500 | 请求超时或内部错误,请重试。 | ||
请求示例 |
PUT /test.xls?acl HTTP/1.1 Host: testnamespace3.t1.hcp-demo.hcpdemo.com Authorization: AWS bmV0c2tpbGw=:6nEKKzvfNI4/b7oxlsu+n7lDDZU= Date: Fri, 21 Oct 2016 03:23:38 GMT Content-Type: text/plain Content-Length: 413 Connection: Keep-Alive |
||
请求体示例 |
<AccessControlPolicy xmlns="http://s3.amazonaws.com/doc/2006-03-01/"> <Owner> |
||
<ID>83813c7e-dd96-4570-8556-813b6a997ff7</ID> <DisplayName>netskill</DisplayName> </Owner> <AccessControlList> <Grant> <Grantee xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="CanonicalUser"> <ID>83813c7e-dd96-457c-8556-813b6a997ff7</ID> </Grantee> <Permission>WRITE</Permission> </Grant> </AccessControlList> </AccessControlPolicy> |
|||
响应示例 |
HTTP/1.1 200 OK Date: Thu, 20 Oct 2016 04:21:05 GMT Server: HCP V7.2.0.26 Content-Length: 0 |
||
规则约束 | |||
名称 | setObjectAcl | |||
描述 | 为经过认证的用户设置对象权限 | |||
请求语法 |
PUT /test.xls?acl&versionId=版本号 HTTP/1.1 Host: bucket-name.tenant-name.hcp-domain name Authorization: authorization string Content-Type: text/plain |
|||
Content-Length: 请求体长度 Date: date |
||||
请求参数 |
acl versionId 对象版本号。如果不指定,为当前版本授权;如果指定,则为特定版本对象授权。 |
|||
请求头部 | Host | 请求的主机,bucketname 是要创建的桶名称。 | ||
Authoriz ation | 认证信息。参考“通用请求头”。 | |||
Date | 请求时间。参考“通用请求头”。 | |||
Content- Type |
请求体类型 | |||
Content- Length |
请求体长度 | |||
请求体 |
<AccessControlPolicy xmlns="http://s3.amazonaws.com/doc/2006-03-01/"> <Owner> <ID>所有者 ID</ID> <DisplayName>所有者名称</DisplayName> </Owner> <AccessControlList> <Grant> <Grantee xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="Group"> <URI>http://acs.amazonaws.com/groups/global/AuthenticatedUsers</URI> </Grantee> <Permission>权限信息,参考“术语、码表”</Permission> </Grant> </AccessControlList> |
|||
</AccessControlPolicy> | ||||
响应头部 | Server | 响应的服务器版本号。 | ||
Content- Length |
响应体长度。参考“通用响应头”。 | |||
Date | 响应时间。参考“通用响应头”。 | |||
响应体 | 无 | |||
响应状态码 | 200 | 成功 | ||
400 |
1、添加的权限信息超过 100 个; 2、对象的所有者不存在; 3、请求体格式不正确或参数据值无效; 4、被授权者 ID 不存在或不正确; 5、你指定的权限无效; 6、同样的授权信息重复出现; |
|||
403 |
1、认证信息不正确; 2、当前用户没有给对象添加 ACL 的权限; 3、桶没有开启 HS3 API; 4、桶不支持当前的请求; |
|||
404 | 桶不存在或对象不存在; | |||
503 |
服务无效。原因可能如下: s) 系统正在重启; t) 运维中; u) 升级中; |
|||
500 | 请求超时或内部错误,请重试。 | |||
请求示例 |
PUT /test.xls?acl HTTP/1.1 Host: testnamespace3.t1.hcp-demo.hcpdemo.com Authorization: AWS bmV0c2tpbGw=:aH29rFqCUbAjJnPYIve1XLfFh4I= Date: Fri, 21 Oct 2016 11:44:37 GMT |
|||
Content-Type: text/plain Content-Length: 428 Connection: Keep-Alive Expect: 100-continue |
||||
请求体示例 |
<AccessControlPolicy xmlns="http://s3.amazonaws.com/doc/2006-03-01/"> <Owner> <ID>83813c7e-dd96-4570-8556-813b6a997ff7</ID> <DisplayName>netskill</DisplayName> </Owner> <AccessControlList> <Grant> |
|||
<Grantee xsi:type="Group"> |
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | |||
<URI>http://acs.amazonaws.com/groups/global/AuthenticatedUsers</URI> </Grantee> <Permission>WRITE</Permission> </Grant> </AccessControlList> </AccessControlPolicy> |
||||
响应示例 |
HTTP/1.1 200 OK Date: Thu, 20 Oct 2016 04:21:05 GMT Server: HCP V7.2.0.26 Content-Length: 0 |
|||
规则约束 | ||||
名称 | setObjectAcl | ||
描述 | 为匿名用户设置对象权限 | ||
请求语法 |
PUT /test.xls?acl&versionId=版本号 HTTP/1.1 Host: bucket-name.tenant-name.hcp-domain name Authorization: authorization string Content-Type: text/plain Content-Length: 请求体长度 Date: date |
||
请求参数 |
acl versionId 对象版本号。如果不指定,为当前版本授权;如果指定,则为特定版本对象授权。 |
||
请求头部 | Host | 请求的主机,bucketname 是要创建的桶名称。 | |
Authoriz ation | 认证信息。参考“通用请求头”。 | ||
Date | 请求时间。参考“通用请求头”。 | ||
Content- Type |
请求体类型 | ||
Content- Length |
请求体长度 | ||
请求体 |
<AccessControlPolicy xmlns="http://s3.amazonaws.com/doc/2006-03-01/"> <Owner> <ID>所有者 ID</ID> <DisplayName>所有者名称</DisplayName> </Owner> <AccessControlList> <Grant> |
||
<Grantee xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="Group"> <URI>http://acs.amazonaws.com/groups/global/AllUsers</URI> </Grantee> <Permission>权限信息,参考“术语、码表”</Permission> </Grant> </AccessControlList> </AccessControlPolicy> |
|||
响应头部 | Server | 响应的服务器版本号。 | |
Content- Length |
响应体长度。参考“通用响应头”。 | ||
Date | 响应时间。参考“通用响应头”。 | ||
响应体 | 无 | ||
响应状态码 | 200 | 成功 | |
400 |
1、请求体格式不正确或参数据值无效; 2、被授权者 ID 不存在或不正确; 3、你指定的权限无效; 4、同样的授权重复出现; |
||
403 |
1、认证信息不正确; 2、当前授权人没有给其它用户授权的权限; 3、桶没有开启 HS3 API; |
||
404 | 桶不存在; | ||
503 |
服务无效。原因可能如下: v) 系统正在重启; w) 运维中; x) 升级中; |
||
500 | 请求超时或内部错误,请重试。 | ||
请求示例 |
PUT /test.xls?acl HTTP/1.1 Host: testnamespace3.t1.hcp-demo.hcpdemo.com Authorization: AWS bmV0c2tpbGw=:yZYOuv3tMQQ14F09A3exOJWZt0U= Date: Fri, 21 Oct 2016 12:15:16 GMT Content-Type: text/plain Content-Length: 610 Connection: Keep-Alive Expect: 100-continue |
||
请求体示例 |
<AccessControlPolicy xmlns="http://s3.amazonaws.com/doc/2006-03-01/"> <Owner> <ID>83813c7e-dd96-4570-8556-813b6a997ff7</ID> <DisplayName>netskill</DisplayName> </Owner> <AccessControlList> <Grant> <Grantee xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="Group"> <URI>http://acs.amazonaws.com/groups/global/AllUsers</URI> </Grantee> <Permission>READ</Permission> </Grant> <Grant> <Grantee xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="Group"> <URI>http://acs.amazonaws.com/groups/global/AllUsers</URI> </Grantee> |
||
<Permission>WRITE</Permission> </Grant> </AccessControlList> </AccessControlPolicy> |
|||
响应示例 |
HTTP/1.1 200 OK Date: Thu, 20 Oct 2016 04:21:05 GMT Server: HCP V7.2.0.26 Content-Length: 0 |
||
规则约束 | |||
名称 | getObjectAcl | |||
描述 | 得到对象的访问控制列表 | |||
请求语法 |
GET /test.xls?acl&versionId=对象版本号 HTTP/1.1 Host: bucket-name.tenant-name.hcp-domain name Authorization: authorization string Content-Type: application/octet-stream Date: date |
|||
请求参数 |
acl versionId 如果指定版本号,读取此版的 ACL;如果不指定读取当前版本的 ACL; |
|||
请求头部 | Host | 请求的主机,bucketname 是要创建的桶名称。 | ||
Authoriz ation | 认证信息。参考“通用请求头”。 | |||
Date | 请求时间。参考“通用请求头”。 | |||
Content- Type |
请求体类型 | |||
请求体 | 无 | |||
响应头部 | Server | 响应的服务器版本号。 | ||
Content- Type |
响应体长度。参考“通用响应头”。 | |||
Date | 响应时间。参考“通用响应头”。 | |||
Transfer- Encoding |
值“chunked”。参考“通用响应头”。 | |||
响应体 |
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <AccessControlPolicy xmlns="http://s3.amazonaws.com/doc/2006-03-01/"> <Owner> <ID>对象所有者 ID</ID> <DisplayName>对象所有者名称</DisplayName> </Owner> <AccessControlList> <Grant> <Grantee xsi:type="CanonicalUser" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <ID>被授权用户 ID</ID> <DisplayName>被授权用户名称</DisplayName> </Grantee> <Permission>FULL_CONTROL</Permission> </Grant> <!--匿名用户组权限信息--> <Grant> <Grantee xsi:type="Group" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <URI>http://acs.amazonaws.com/groups/global/AllUsers</URI> </Grantee> <Permission>READ</Permission> |
|||
</Grant> <!--匿名用户组权限信息--> <Grant> <Grantee xsi:type="Group" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <URI>http://acs.amazonaws.com/groups/global/AllUsers</URI> </Grantee> <Permission>WRITE</Permission> </Grant> </AccessControlList> |
||||
响应状态码 | 200 | 成功 | ||
403 |
1、认证信息不正确; 2、没有读取对象 ACL 的权限; 3、桶不支持此操作或桶没有开启 HS3 API; |
|||
404 | 桶或对象不存在; | |||
503 |
服务无效。原因可能如下: y) 系统正在重启; z) 运维中; aa) 升级中; |
|||
500 | 请求超时或内部错误,请重试。 | |||
请求示例 |
GET /test.xls?acl HTTP/1.1 Host: testnamespace3.t1.hcp-demo.hcpdemo.com Authorization: AWS bmV0c2tpbGw=:OOSQSOzFyesi2gjt3j+8xmT1ZsI= Date: Fri, 21 Oct 2016 12:30:05 GMT Content-Type: application/octet-stream Connection: Keep-Alive |
|||
响应示例 |
HTTP/1.1 200 OK Date: Thu, 20 Oct 2016 04:21:05 GMT |
|||
Server: HCP V7.2.0.26 Content-Type: application/xml;charset=UTF-8 Transfer-Encoding: chunked |
||||
响应体示例 |
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <AccessControlPolicy xmlns="http://s3.amazonaws.com/doc/2006-03-01/"> <Owner> <ID>83813c7e-dd96-4570-8556-813b6a997ff7</ID> <DisplayName>netskill</DisplayName> </Owner> <AccessControlList> <Grant> <Grantee xsi:type="CanonicalUser" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <ID>83813c7e-dd96-4570-8556-813b6a997ff7</ID> <DisplayName>netskill</DisplayName> </Grantee> <Permission>FULL_CONTROL</Permission> </Grant> <Grant> |
|||
<Grantee xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <URI>http://acs.amazonaws.com/groups/global/AllUsers</URI> </Grantee> <Permission>READ</Permission> </Grant> <Grant> |
xsi:type="Group" | |||
<Grantee xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <URI>http://acs.amazonaws.com/groups/global/AllUsers</URI> </Grantee> <Permission>WRITE</Permission> </Grant> </AccessControlList> </AccessControlPolicy> |
xsi:type="Group" | |||
规则约束 | ||||
名称 | putObject | ||
描述 | 创建对象的同时指定元数据 | ||
请求语法 |
PUT 对象 key HTTP/1.1 Host: bucket-name.tenant-name.hcp-domain name Authorization: authorization string x-amz-meta-元数据 key: 元数据 value Content-Length: 请求体长度 Content-Type: 请求体类型 Content-MD5: 对象内容的 MD5 值 Date: date |
||
请求参数 | 无 | ||
请求头部 | Host | 请求的主机,bucketname 是要创建的桶名称。 | |
Authoriz | 认证信息。参考“通用请求头”。 | ||
ation | |||
Date | 请求时间。参考“通用请求头”。 | ||
Content- Length |
请求体长度。 | ||
Content- MD5 |
文件内容的 md5 值。不是必选项。 | ||
Content- Type |
请求体类型。 | ||
x-amz-m eta- |
无数据请求头。元数据由 key,value 两部分组成。 1、key 会放到请求头部,和“x-amz-meta-”共同组成请求头信息, 如:x-amz-meta-xingMing; 2、value 放到请求头部,作为“x-amz-meta-”的值 ; 3、举例。key 是 xingMing,value 是 netskill,组成的元数据请求头如 下所示:x-amz-meta-xingMing: netskill ; |
||
请求体 | 文件内容 stream | ||
响应头部 | Server | 响应的服务器版本号。 | |
Content- Length |
响应体长度。参考“通用响应头”。 | ||
Date | 响应时间。参考“通用响应头”。 | ||
ETag | 对象的唯一标识。 | ||
x-amz-ve rsion-id | 对象的版本编号。如果版本开启,则返回;否则不返回。 | ||
响应体 | 无 | ||
响应状态码 | 200 | 成功 | |
400 |
1、本地计算的 md5 值和文件上传成功后 HCP 返回的 MD5 值不一致; 2、创建对象的同时指定了 ACL 值,但此值无效; |
||
403 | 1、认证信息不正确; | ||
2、当前用户没有向桶中存储对象的权限; 3、桶没有开启 HS3 API; |
|||
404 | 桶不存在; | ||
503 | 服务无效。原因可能如下: ab) 系统正在重启; ac) 运维中; ad) 升级中; | ||
500 | 请求超时或内部错误,请重试。 | ||
409 |
1、相同 key 的对象已存在,只有当桶的版本功能没有开启时有效; 2、相同 key 的目录存在; |
||
413 | 桶空间不足,对象太大; | ||
请求示例 |
PUT /test.txt HTTP/1.1 Host: testnamespace3.t1.hcp-demo.hcpdemo.com Authorization: AWS bmV0c2tpbGw=:UcmwANd6wlh+qypje9em1jnFDPs= Date: Fri, 21 Oct 2016 13:10:50 GMT Content-MD5: CY9rzUYh03PK3k6DJie09g== Content-Type: text/plain Content-Length: 4 Connection: Keep-Alive Expect: 100-continue |
||
请求体示例 | 文件内容 stream | ||
响应示例 |
HTTP/1.1 200 OK Date: Thu, 20 Oct 2016 09:43:00 GMT Server: HCP V7.2.0.26 ETag: "cf0832dedf7457bbcbfa00bbd87b300a" x-amz-version-id: 94525221186177 |
||
Content-Length: 0 | |||
规则约束 |
1、创建文件对象。当对象 key 不以“/”结尾,代表创建文件对象,举例:123/ 中国.txt ; 2、创建目录对象。当对象 key 以“/”结尾,代表创建目录对象,举例:123/ ; |
||
名称 | getObjectMetadata | |
描述 | 读取对象元数据 | |
请求语法 |
HEAD /test.txt?versionId=对象版本号 HTTP/1.1 Host: bucket-name.tenant-name.hcp-domain name Authorization: authorization string Date: date Content-Type: application/octet-stream |
|
请求参数 | versionId 对象版本号。如果不指定版本号,读取当前版本对象的元数据。此参数仅在版本功能开启的情况下起作用。 | |
请求头部 | Host | 请求的主机,bucketname 是要检测的桶名称 |
Autho rizatio n |
认证信息。参考“通用请求头”。 | |
Date | 请求时间。参考“通用请求头”。 | |
Conte nt-Typ e: | 请求体内容类型。 | |
请求体 | 无 | |
响应头部 | Server | 响应的服务器版本号。 |
Conte nt-Len | 响应体长度。参考“通用响应头”。 | |
gth | ||
Date | 响应时间。参考“通用响应头”。 | |
ETag | 对象 ID ; | |
Accept -Range s | Bytes ; | |
x-amzversio n-id | 对象版本号; | |
x-amzmeta- 元 数 据 key |
用户自定义元数据 key; | |
Conte nt-Typ e | 响应体类型; | |
响应体 | 无 | |
响应状态码 | 200 | 成功; |
403 |
1、认证信息不正确; 2、当前用户没有桶或对象的 read 权限; 3、桶没有开启 HS3 协议; |
|
404 |
1、对象或桶或对象的指定版本不存在。; 2、指定的对象版本是一个已经删除的对象版本; |
|
500 | 请求超时或内部错误,请重试。 | |
503 |
服务无效。原因可能如下: 1、系统正在重启; 2、运维中; |
|
3、升级中; | ||
请求示例 |
HEAD /test.txt?versionId=94531548821057 HTTP/1.1 Host: testnamespace3.t1.hcp-demo.hcpdemo.com Authorization: AWS bmV0c2tpbGw=:tgJN7Fs98u9AfNCfbhX02bBE0wU= Date: Fri, 21 Oct 2016 13:31:39 GMT Content-Type: application/octet-stream Connection: Keep-Alive |
|
响应示例 |
HTTP/1.1 200 OK Date: Thu, 20 Oct 2016 09:05:28 GMT Server: HCP V7.2.0.26 ETag: "6ad94b3ce320201d2a5cadca222f9f8e" Accept-Ranges: bytes x-amz-version-id: 94525024140929 Last-Modified: Thu, 20 Oct 2016 08:51:42 GMT x-amz-meta-xingMing: netskill Content-Length: 13487 Content-Type: Content-Type: text/plain;charset=ISO-8859-1 |
|
规则约束 | 目录没有元数据; |
名称 | copyObject | ||
描述 | 修改或删除对象用户自定义元数据。如果将元数据请求头置为空可删除用户自定义元数据。 | ||
请求语法 |
PUT /目标对象 key HTTP/1.1 Host: bucket-name.tenant-name.hcp-domain name Authorization: authorization string Content-Length: 请求体长度 |
||
x-amz-meta-元数据 key: 元数据 value x-amz-metadata-directive:REPLACE 或 COPY Content-Type: application/octet-stream x-amz-copy-source: 源对象 key?versionId=版本编号 Date: date |
|||
请求参数 | 无 | ||
请求头部 | Host | 请求的主机,bucketname 是要创建的桶名称。 | |
Authoriz ation | 认证信息。参考“通用请求头”。 | ||
Date | 请求时间。参考“通用请求头”。 | ||
Content- Length |
请求体长度 | ||
x-amz-co py-sourc e |
源对象 key。 versionId 为源对象指定版本号,可复制源对象的某个版本。如果不指定,复制对象的当前版本。如: x-amz-copy-source: /testnamespace3/jodconverter-cli-2.2.0.jar.zip?versionid=1231234 |
||
x-amz-m eta- |
无数据请求头。元数据由 key,value 两部分组成。 1、key 会放到请求头部,和“x-amz-meta-”共同组成请求头信息, 如:x-amz-meta-xingMing; 2、value 放到请求头部,作为“x-amz-meta-”的值 ; 3、举例。key 是 xingMing,value 是 netskill,组成的元数据请求头如 下所示:x-amz-meta-xingMing: netskill ; 4、如果此请求头不存在,则删除元数据; |
||
x-amz-m etadatadirective |
值为“REPLACE”情况: 1、如果指定这个值,说明要修改对象元数据; 2、此时,如果在请求头中没有元数据信息,会删除所有用户自定义 |
||
元数据; 3、此时,如果在请求头中有元数据信息,会替换现有的用户自定义元数据;值为“COPY”的情况 1、如果指定这个值,说明要保留对象现有的元数据; 2、此时,如果在请求头中没有元数据信息,保留对象现有的元数据; 3、此时,如果在请求头中有元数据信息,在现在元数据中追加新的用户自定义元数据; |
|||
请求体 | 无 | ||
响应头部 | Server | 响应的服务器版本号。 | |
Date | 响应时间。参考“通用响应头”。 | ||
x-amz-ve rsion-id | 对象的版本编号。如果版本开启,则返回;否则不返回。 | ||
x-amz-co py-sourc e-version -id |
源对象的版本号。仅当版本功有开启有效。 | ||
Content- Type |
返回的响应体类型。 | ||
Transfer- Encoding |
Chunked。参考“通用响应头”。 | ||
响应体 |
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <CopyObjectResult xmlns="http://s3.amazonaws.com/doc/2006-03-01/"> <LastModified>目标对象的最后修改时间</LastModified> <ETag>目标对象的唯一标识</ETag> </CopyObjectResult> |
||
响应状态 | 200 | 成功 | |
码 | 400 | 在复制对象时设置的 ACL 请求头不正确; | |
403 |
1、认证信息不正确; 2、当前用户权限不足。当前用户必须有源桶的读取权限,目标桶的写权限; 3、桶没有开启 HS3 API; |
||
404 |
1、源对象不存在; 2、如果指定了版本号。源对象的此版本可能不存在,或此版本是一个被删除的版本; 3、源桶不存在; |
||
503 | 服务无效。原因可能如下: ae) 系统正在重启; af) 运维中; ag) 升级中; | ||
500 | 请求超时或内部错误,请重试。 | ||
409 | 目标对象已存在。如果版本没有开启,就会产生冲突;但是,如果版本开启,就不影响; | ||
413 | 目标桶空间不足,对象太大; | ||
请求示例 |
PUT /test.xls HTTP/1.1 Host: testnamespace3.t1.hcp-demo.hcpdemo.com Authorization: AWS bmV0c2tpbGw=:aFG5tAYM3elXi4AuF2Gtn+mHmzI= x-amz-metadata-directive: REPLACE x-amz-meta-koko: 123456789 x-amz-copy-source: /testnamespace3/test.xls Date: Fri, 21 Oct 2016 13:44:22 GMT Content-Type: application/octet-stream Content-Length: 0 Connection: Keep-Alive |
||
请求体 | 无 | ||
响应示例 |
HTTP/1.1 200 OK Date: Thu, 20 Oct 2016 09:43:00 GMT Server: HCP V7.2.0.26 x-amz-version-id: 94525221186177 x-amz-copy-source-version-id: 94528584835137 Content-Type: application/xml;charset=UTF-8 Transfer-Encoding: chunked |
||
响应体示例 |
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <CopyObjectResult xmlns="http://s3.amazonaws.com/doc/2006-03-01/"><LastModified>2016-10-21T0 0:30:24.000Z</LastModified> <ETag>"f7701509609a33b8db56c3e1975670d1"</ETag> </CopyObjectResult> |
||
规则约束 |
1、当前用户的权限。源桶的读取权限,目标桶的写权限; 2、可复制指定版本的对象,需指定版本号。如果不指定,默认复制当前版本; |
||
本文档编写及测试使用 AWS JAVA SDK1.10.77。如果使用其它语言调用 HS3 接口,请使作 AWS 的官方 SDK。