Skip to content

对象操作

删除对象

功能介绍

删除对象的操作。如果要删除的对象不存在,则仍然返回成功信息。

请求语法

http
DELETE /<bucket-name>/<object-key> HTTP/1.1
Host: fgws3-ocloud.ihep.ac.cn
Date: <date>
X-Amz-Content-sha256:<x-amz-content-sha256>
Authorization: <authorization-header>

请求参数

参数描述是否必须
ObjectKey删除对象的对象名称 类型:字符串

请求消息示例

http
DELETE https://fgws3-ocloud.ihep.ac.cn/20001-cbq/S3test.txt HTTP/1.1
Host: fgws3-ocloud.ihep.ac.cn
User-Agent: aws-sdk-go/1.48.3 (go1.19.2; windows; amd64)
X-Amz-Date: 20231128T075632Z
X-Amz-Content-Sha256: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
Authorization: AWS4-HMAC-SHA256 Credential=PIM9Z4LAahZtba1BeLW2/20231128/us-east-1/s3/aws4_request, SignedHeaders=host;x-amz-content-sha256;x-amz-date, Signature=8d170c991b51e1fe9974b17f4d8c17678acfa449331f35de9f4412c26c3791cf

响应消息示例

http
HTTP/1.1 204 204 No Content
Content-Type: application/json
Date: Tue, 28 Nov 2023 07:56:55 GMT
Server: osca Filer Dev osca v2.00-dae212ad

批量删除对象

功能描述

批量删除对象特性用于将一个桶内的部分对象一次性删除,删除后可通过其他客户端回收站回复。批量删除对象要求返回结果里包含每个对象的删除结果。OSCA-OSS的批量删除对象使用同步删除对象的方式,每个对象的删除结果返回给请求用户。

批量删除对象支持两种响应方式:verbose和quiet。Verbose是指在返回响应时,不管对象是否删除成功都将删除结果包含在XML响应里;quiet是指在返回响应时,只返回删除失败的对象结果,没有返回的认为删除成功。OSCA-OSS默认使用verbose模式,如果用户在请求消息体中指定quiet模式的话, 使用quiet模式。

批量删除的请求消息头中必须包含Content-MD5以及Content-Length,用以保证请求的消息体在服务端检测到网络传输如果有错,则可以检测出来。

请求语法

http
POST /<bucket-name>?delete HTTP/1.1
Host: fgws3-ocloud.ihep.ac.cn
Date: <date>
Content-Length: <request-body-size>
Content-Type: application/xml
X-Amz-Content-Sha256: <content-sha256>
Authorization: <authorization-header>

<Delete>
  <Object>
    <Key>object-key-1</Key>
  </Object>
  <Object>
    <Key>object-key-2</Key>
  </Object>
</Delete>

请求参数

参数描述是否必须
Delete多重删除的请求容器元素
Quiet是否显示具体删除信息 类型:布尔值 父节点:Delete
Object要删除的单个对象的容器元素 类型:容器 父节点:Delete
Key要删除的对象键值 类型:字符串 父节点:Object

响应参数

Element描述
DeleteResult多重删除的响应容器元素 类型:容器
Deleted已被成功删除的容器元素 类型:容器 父节点:DeleteResult
Key已删除的对象键值 类型:字符串 父节点:Deleted,Error

请求消息示例

http
POST https://fgws3-ocloud.ihep.ac.cn/20001-cbq?delete= HTTP/1.1
Host: fgws3-ocloud.ihep.ac.cn
Authorization: AWS4-HMAC-SHA256 Credential=PIM9Z4LAahZtba1BeLW2/20231128/us-east-1/s3/aws4_request, SignedHeaders=content-length;content-md5;host;x-amz-content-sha256;x-amz-date, Signature=a2442ef53f2aa1d1ef4155c71a38dcbf7a77e2e53065bec1b419f09bcdcf1e82
User-Agent: aws-sdk-go/1.48.3 (go1.19.2; windows; amd64)
Content-Md5: hAP8IPDjd2kBONYezqJXwQ==
Content-Length: 167
X-Amz-Date: 20231128T075955Z
X-Amz-Content-Sha256: 2ad38bb6b7e6e44f76923d981f965b91be5a02b94bacf7dd8f01fe0e4336ee09

响应消息示例

http
HTTP/1.1 200 OK
Accept-Ranges: bytes
Content-Length: 202
Content-Type: application/xml
Server: JWanFS FGW Server
X-Amz-Request-Id: 1701158396842525784
Date: Tue, 28 Nov 2023 07:59:56 GMT

<?xml version="1.0" encoding="UTF-8"?>
<DeleteResult
    xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
    <Deleted>
        <Key>COMPILING_CN.txt</Key>
    </Deleted>
    <Deleted>
        <Key>s3test.txt</Key>
    </Deleted>
</DeleteResult>

获取对象内容

功能介绍

GET操作从对象存储下载对象。使用GET接口前,请确认必须拥有对象的READ权限。如果对象Owner向匿名用户授予READ访问权限,则可以在不使用鉴权头域的情况下访问该对象。

请求语法

http
GET /<bucket-name>/<object-key> HTTP/1.1
Host: fgws3-ocloud.ihep.ac.cn
Date: <date>
X-Amz-Content-sha256:<x-amz-content-sha256>
Authorization: <authorization-header>

请求消息示例

http
GET https://fgws3-ocloud.ihep.ac.cn/20001-cbq/S3test.txt HTTP/1.1
Host: fgws3-ocloud.ihep.ac.cn
X-Amz-Content-Sha256: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
Authorization: AWS4-HMAC-SHA256 Credential=PIM9Z4LAahZtba1BeLW2/20231128/us-east-1/s3/aws4_request, SignedHeaders=host;x-amz-content-sha256;x-amz-date, Signature=68def511617e750113f4e12e6cf79a7c48e0e7c46f6d56d0f49abafbdbe5a5a5
User-Agent: aws-sdk-go/1.48.3 (go1.19.2; windows; amd64)
X-Amz-Date: 20231128T080303Z

响应消息示例

http
HTTP/1.1 200 OK
Accept-Ranges: bytes
Content-Disposition: inline; filename="S3test.txt"
Content-Length: 11
Last-Modified: Tue, 28 Nov 2023 08:02:56 GMT
Server: osca Filer Dev osca v2.00-dae212ad
Access-Control-Expose-Headers: Content-Disposition
Content-Type: application/ocet-stream
Date: Tue, 28 Nov 2023 08:03:04 GMT
Etag: "c1b712b5927a315820b2fad439eb5f72"
X-Amz-Tagging-33: 22
X-Amz-Tagging-Count: 1

#文件内容
TEST UPLOAD

获取对象元数据

功能介绍

拥有对象读权限的用户可以执行HEAD操作命令获取对象元数据,返回信息包含对象的元数据信息。

请求语法

http
HEAD /<bucket-name>/<object-key> HTTP/1.1
Host: fgws3-ocloud.ihep.ac.cn
Date: <date>
X-Amz-Content-sha256:<x-amz-content-sha256>
Authorization: <authorization-header>

请求参数

参数描述是否必须
ObjectKey对象名 类型:字符串 默认:无

请求消息示例

http
HEAD https://fgws3-ocloud.ihep.ac.cn/20001-cbq/S3test.txt HTTP/1.1
Host: fgws3-ocloud.ihep.ac.cn
User-Agent: aws-sdk-go/1.48.3 (go1.19.2; windows; amd64)
X-Amz-Date: 20231128T080423Z
X-Amz-Content-Sha256: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
Authorization: AWS4-HMAC-SHA256 Credential=PIM9Z4LAahZtba1BeLW2/20231128/us-east-1/s3/aws4_request, SignedHeaders=host;x-amz-content-sha256;x-amz-date, Signature=050dd38c9740f3032ce49ee1199a9a8195451ef402a7b15788487e335d427a3b

响应消息示例

http
HTTP/1.1 200 OK 
Access-Control-Expose-Headers: Content-Disposition
Content-Type: application/ocet-stream
Etag: "c1b712b5927a315820b2fad439eb5f72"
X-Amz-Tagging-33: 22
X-Amz-Tagging-Count: 1
Accept-Ranges: bytes
Content-Length: 11
Date: Tue, 28 Nov 2023 08:04:24 GMT
Last-Modified: Tue, 28 Nov 2023 08:02:56 GMT
Server: osca Filer Dev osca v2.00-dae212ad
Content-Disposition: inline; filename="S3test.txt"

上传对象

功能介绍

用户在osca系统中创建了桶之后,可以采用PUT操作的方式将对象上传到桶中。上传对象操作是指在指定的桶内增加一个对象,执行该操作需要用户拥有桶的写权限。

请求语法

http
PUT /<bucket-name>/<object-key> HTTP/1.1
Host: fgws3-ocloud.ihep.ac.cn
Date: <date>
Content-Length: <object-size>
Content-Type: <content-type>
X-Amz-Content-Sha256: <content-sha256>
Authorization: <authorization-header>

<object-data>

请求参数

参数描述是否必须
Content-Length对象的大小 类型:字符串 默认:无
Content-MD5128位MD5摘要经过Base64编码的值,用来检查网络传输过程中文件是否损坏 类型:字符串 默认无
x-amz-meta-以该前缀开头的header都将被认为是用户自定义的元数据,比如:x-amz-meta-title: TITLE 这个header会把title:TITLE作为用户自定义元数据key-value对。类型:字符串默认:无 类型:容器 父节点:Delete

请求消息示例

http
PUT https://fgws3-ocloud.ihep.ac.cn/20001-cbq/S3test.txt HTTP/1.1
Host: fgws3-ocloud.ihep.ac.cn
X-Amz-Date: 20231128T082926Z
Authorization: AWS4-HMAC-SHA256 Credential=PIM9Z4LAahZtba1BeLW2/20231128/us-east-1/s3/aws4_request, SignedHeaders=content-length;content-md5;content-type;host;x-amz-content-sha256;x-amz-date;x-amz-tagging, Signature=1e53a6b958e8d809b90d9345225fda660c41b3b36b454d59fccc8410b92a1711
User-Agent: aws-sdk-go/1.48.3 (go1.19.2; windows; amd64)
Content-Type: application/ocet-stream
X-Amz-Tagging: 33=22
Content-Md5: wbcStZJ6MVggsvrUOetfcg==
X-Amz-Content-Sha256: 040944e2bf5d24d09f333ecf3969d48da8b3084b92108d5c3672776416f8c7ad
Content-Length: 11

响应消息示例

http
HTTP/1.1 200 OK
Accept-Ranges: bytes
Content-Length: 0
Etag: "c1b712b5927a315820b2fad439eb5f72"
Server: JWanFS FGW Server
X-Amz-Request-Id: 1701160167790292384
Date: Tue, 28 Nov 2023 08:29:27 GMT

复制对象

功能介绍

复制对象(Copy Object)特性用来为OSCA-OSS上已经存在的对象创建一个副本。

请求语法

http
PUT /<bucket-name>/<object-key> HTTP/1.1
Host: fgws3-ocloud.ihep.ac.cn
Date: <date>
Content-Length: 0
Content-Type: <content-type>
X-Amz-Copy-Source: <ource>
X-Amz-Content-Sha256: <content-sha256>
Authorization: <authorization-header>

请求参数

参数描述是否必须
object拷贝目标

请求头

参数描述是否必须
x-amz-copy-source对象源路径

请求消息示例

http
PUT https://fgws3-ocloud.ihep.ac.cn/20001-cbq/S3test1.txt HTTP/1.1
Host: fgws3-ocloud.ihep.ac.cn
User-Agent: aws-sdk-go/1.48.3 (go1.19.2; windows; amd64)
X-Amz-Copy-Source: 20001-cbq/S3test.txt
X-Amz-Date: 20231128T082045Z
X-Amz-Content-Sha256: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
Authorization: AWS4-HMAC-SHA256 Credential=PIM9Z4LAahZtba1BeLW2/20231128/us-east-1/s3/aws4_request, SignedHeaders=host;x-amz-content-sha256;x-amz-copy-source;x-amz-date, Signature=947d9b71feea10215b3b4ce9528fe9b7275f5d05d40e6623734c6973c2a56c95

响应消息示例

http
HTTP/1.1 200 OK
Content-Length: 276
X-Amz-Request-Id: 1701159646217590155
Accept-Ranges: bytes
Content-Type: application/xml
Etag: "c1b712b5927a315820b2fad439eb5f72"
Server: JWanFS FGW Server
Date: Tue, 28 Nov 2023 08:20:46 GMT

<?xml version="1.0" encoding="UTF-8"?>
<CopyObjectResult>
    <LastModified
        xmlns="http://s3.amazonaws.com/doc/2006-03-01/">2023-11-28T08:20:46.217462114Z
    </LastModified>
    <ETag
        xmlns="http://s3.amazonaws.com/doc/2006-03-01/">c1b712b5927a315820b2fad439eb5f72
    </ETag>
</CopyObjectResult>

上传对象标签

功能介绍

添加对象标签(PutObjectTagging)为对象添加一个标签

请求语法

http
PUT /<bucket-name>/<object-key>?tagging HTTP/1.1
Host: fgws3-ocloud.ihep.ac.cn
Date: <date>
Content-Length: <request-body-size>
Content-Type: application/xml
X-Amz-Content-Sha256: <content-sha256>
Authorization: <authorization-header>

<Tagging>
  <TagSet>
    <Tag>
      <Key>tag-key-1</Key>
      <Value>tag-value-1</Value>
    </Tag>
    <Tag>
      <Key>tag-key-2</Key>
      <Value>tag-value-2</Value>
    </Tag>
  </TagSet>
</Tagging>

请求参数

名称类型是否必选示例值描述
Tagging容器不涉及标签集合。
TagSet容器不涉及标签集合。
Tag容器不涉及标签集合。
Key字符串a标签键。
Value字符串1标签值。

请求消息示例

http
PUT https://fgws3-ocloud.ihep.ac.cn/20001-cbq/S3test.txt?tagging= HTTP/1.1
Host: fgws3-ocloud.ihep.ac.cn
User-Agent: aws-sdk-go/1.48.3 (go1.19.2; windows; amd64)
Content-Md5: ONTicBEM6yBRQKwtRpFhXg==
Content-Length: 166
X-Amz-Date: 20231128T083258Z
X-Amz-Content-Sha256: 8d289f69118691a26df01e5c50690b91302be815769b61a04daca544bc8d4104
Authorization: AWS4-HMAC-SHA256 Credential=PIM9Z4LAahZtba1BeLW2/20231128/us-east-1/s3/aws4_request, SignedHeaders=content-length;content-md5;host;x-amz-content-sha256;x-amz-date, Signature=93f72e862e80f269c0d33ff5d90ca891c6129e3e17dfa4313a21372d3f793e6d

响应消息示例

http
HTTP/1.1 200 OK
Server: JWanFS FGW Server
Date: Tue, 28 Nov 2023 08:32:59 GMT
Content-Length: 0

获取对象标签

功能介绍

获取对象的标签(GetObjectTagging)为获取对象的标签信息

请求语法

http
GET /<bucket-name>/<object-key>?tagging HTTP/1.1
Host: fgws3-ocloud.ihep.ac.cn
Date: <date>
X-Amz-Content-Sha256: <content-sha256>
Authorization: <authorization-header>

响应元素

名称类型描述
Tagging容器标签集合。
TagSet容器标签集合。
Tag容器标签集合。
Key字符串标签键。
Value字符串标签值。

请求消息示例

http
GET https://fgws3-ocloud.ihep.ac.cn/20001-cbq/S3test.txt?tagging= HTTP/1.1
Host: fgws3-ocloud.ihep.ac.cn
X-Amz-Content-Sha256: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
Authorization: AWS4-HMAC-SHA256 Credential=PIM9Z4LAahZtba1BeLW2/20231128/us-east-1/s3/aws4_request, SignedHeaders=host;x-amz-content-sha256;x-amz-date, Signature=0ef62f4202ae2e28daea38d0a0d7639aa13e7109f5312bde83bc4f64d0266d56
User-Agent: aws-sdk-go/1.48.3 (go1.19.2; windows; amd64)
X-Amz-Date: 20231128T083331Z

<Tagging
    xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
    <TagSet>
        <Tag>
            <Key>aa</Key>
            <Value>bb</Value>
        </Tag>
        <Tag>
            <Key>cc</Key>
            <Value>dd</Value>
        </Tag>
    </TagSet>
</Tagging>

响应消息示例

http
HTTP/1.1 200 OK
Content-Length: 205
Content-Type: application/xml
Server: JWanFS FGW Server
X-Amz-Request-Id: 1701160412389466093
Date: Tue, 28 Nov 2023 08:33:32 GMT
Accept-Ranges: bytes

<?xml version="1.0" encoding="UTF-8"?>
<Tagging
    xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
    <TagSet>
        <Tag>
            <Key>aa</Key>
            <Value>bb</Value>List Objects
        </Tag>
        <Tag>
            <Key>cc</Key>
            <Value>dd</Value>
        </Tag>
    </TagSet>
</Tagging>

删除对象标签

功能介绍

删除对象标签(DeleteObjectTagging)为对象删除其标签

请求语法

http
DELETE /<bucket-name>/<object-key>?tagging HTTP/1.1
Host: fgws3-ocloud.ihep.ac.cn
Date: <date>
Authorization: <authorization-header>
X-Amz-Content-Sha256: <content-sha256>

请求消息示例

http
DELETE https://fgws3-ocloud.ihep.ac.cn/20001-cbq/S3test.txt?tagging= HTTP/1.1
Host: fgws3-ocloud.ihep.ac.cn
Authorization: AWS4-HMAC-SHA256 Credential=PIM9Z4LAahZtba1BeLW2/20231128/us-east-1/s3/aws4_request, SignedHeaders=host;x-amz-content-sha256;x-amz-date, Signature=5589d2bf375d466a08c0535f1546d1fac5ae415cc3a48899410d683d71a2d19b
User-Agent: aws-sdk-go/1.48.3 (go1.19.2; windows; amd64)
X-Amz-Date: 20231128T083452Z
X-Amz-Content-Sha256: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855

响应消息示例

http
HTTP/1.1 204 No Content
Date: Tue, 28 Nov 2023 08:34:53 GMT
Server: JWanFS FGW Server