开发者社区> 问答> 正文

构建CanonicalizedResource的方法

已解决

展开
收起
游客bpiznl7lt5wre 2018-06-19 09:52:36 1087 0
1 条回答
写回答
取消 提交回答
  • 采纳回答

    详细解答可以参考官方帮助文档

    用户发送请求中想访问的OSS目标资源被称为CanonicalizedResource。它的构建方法如下:

    1. 将CanonicalizedResource置成空字符串 ""
    2. 放入要访问的OSS资源 /BucketName/ObjectName无ObjectName则CanonicalizedResource为”/BucketName/“,如果同时也没有BucketName则为“/”)
    3. 如果请求的资源包括子资源(SubResource) ,那么将所有的子资源按照字典序,从小到大排列并以 & 为分隔符生成子资源字符串。在CanonicalizedResource字符串尾添加 和子资源字符串。此时的CanonicalizedResource如:/BucketName/ObjectName?acl&uploadId=UploadId
    4. 如果用户请求在指定了查询字符串(QueryString,也叫Http Request Parameters),那么将这些查询字符串及其请求值按照 字典序,从小到大排列,以 & 为分隔符,按参数添加到CanonicalizedResource中。此时的CanonicalizedResource如:/BucketName/ObjectName?acl&response-content-type=ContentType&uploadId=UploadId
    说明
    • OSS目前支持的子资源(sub-resource)包括:acl,uploads,location,cors,logging,website,referer,lifecycle,delete,append,tagging,objectMeta,uploadId,partNumber,security-token,position,img,style,styleName,replication,replicationProgress,replicationLocation,cname,bucketInfo,comp,qos,live,status,vod,startTime,endTime,symlink,x-oss-process,response-content-type,response-content-language,response-expires,response-cache-control,response-content-disposition,response-content-encoding等
    • 子资源(sub-resource)有三种类型:
      • 资源标识,如子资源中的acl,append,uploadId,symlink等,详见关于Bucket的操作关于Object的操作
      • 指定返回Header字段,如 response-***,详见GetObjectRequest Parameters
      • 文件(Object)处理方式,如 x-oss-process,用于文件的处理方式,如图片处理
    2018-06-25 01:47:48
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
ui-model,跨框架复用 立即下载
UI2CODE智能生成flutter代码--整体架构 【上叶】 立即下载
PAI灵骏智算 构建全链路LLM服务的最佳实践 立即下载