您可以通过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的版本号。 |
get-object命令对应API接口GetObject。关于API中的具体参数含义,请参见GetObject。
关于支持的全局命令行选项,请参见支持的全局命令行选项。
使用示例
获取
examplebucket
存储空间下的exampleobject
文件。ossutil api get-object --bucket examplebucket --key exampleobject
获取
examplebucket
存储空间下的版本号为123
的exampleobject
文件。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
,如果exampleobject
的ETag
等于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"