您可以通过API级命令获取存储空间(Bucket)中的某个文件(Object)。

注意事项

  • 阿里云账号默认拥有获取文件的权限。如果您需要通过RAM用户或者STS的方式进行获取,您必须拥有oss:GetObject权限。具体操作,请参见为RAM用户授权自定义的权限策略

  • GetObject接口默认可通过HTTP和HTTPS两种方式访问。如果要设置仅允许通过HTTPS方式访问,请使用Bucket Policy的授权访问方式。具体操作,请参见通过Bucket Policy授权用户访问指定资源

  • 如果Object类型为归档类型,需要先完成解冻文件(RestoreObject)请求,且该请求不能超时。

命令格式

ossutil api get-object --bucket value --key value [flags]

参数

类型

说明

--accept-encoding

string

指定客户端的编码类型。

--bucket

string

Bucket名称。

--if-match

string

如果传入期望的ETag和Object的ETag匹配,则返回200 OK和Object Meta;否则返回412 precondition failed。

--if-modified-since

string

如果传入参数中的时间早于实际修改时间,则返回200 OK和Object Meta;否则返回304 not modified。

--if-none-match

string

如果传入期望的ETag值和Object的ETag不匹配,则返回200 OK和Object Meta;否则返回304 Not Modified。

--if-unmodified-since

string

如果传入参数中的时间等于或者晚于文件实际修改时间,则返回200 OK和Object Meta;否则返回412 Precondition Failed。

--key

string

Object的完整路径。

--range

stringArray

指定文件传输的范围。

--response-cache-control

string

指定OSS返回请求的cache-control头。

--response-content-disposition

string

指定OSS返回请求的content-disposition头。

--response-content-encoding

string

指定OSS返回请求的content-encoding头。

--response-content-language

string

指定OSS返回请求的content-language头。

--response-content-type

string

指定OSS返回请求的content-type头。

--response-expires

string

指定OSS返回请求的expires头。

--version-id

string

请求解冻的Object的版本号。

说明

使用示例

  • 获取examplebucket存储空间下的exampleobject文件。

    ossutil api get-object --bucket examplebucket --key exampleobject
  • 获取examplebucket存储空间下的版本号为123exampleobject文件。

    ossutil api get-object --bucket examplebucket --key exampleobject --version-id 123
  • 获取examplebucket存储空间下的exampleobject指定文件范围内容。

    ossutil api get-object --bucket examplebucket --key exampleobject --range bytes=1-10
  • 获取examplebucket存储空间下的exampleobject,如果exampleobject的修改时间早于 Mon, 11 May 2020 08:16:23 GMT则返回object。

    ossutil api get-object --bucket examplebucket --key exampleobject --if-modified-since "Mon, 11 May 2020 08:16:23 GMT"
  • 获取examplebucket存储空间下的exampleobject,如果exampleobjectETag等于123则返回object。

    ossutil api get-object --bucket examplebucket --key exampleobject --if-match 123
  • 获取examplebucket存储空间下的exampleobject,对返回内容进行Gzip压缩传输。

    ossutil api get-object --bucket examplebucket --key exampleobject --accept-encoding gzip
  • 获取examplebucket存储空间下的exampleobject,指定返回请求的content-type头为application/xml。

    ossutil api get-object --bucket examplebucket --key exampleobject --response-content-type "application/xml"