云服务器内容精选

  • 响应消息元素 该请求的响应消息中,会以XML形式将桶中的对象列出来,元素的具体含义如表2所示。 表2 响应消息元素 元素名称 描述 ListBucketResult 桶中对象列表。 类型:XML Contents 对象的元数据信息。 类型:XML 父节点:ListBucketResult CommonPrefixes 请求中带delimiter参数时,返回消息带CommonPrefixes分组信息。 类型:XML 父节点:ListBucketResult Delimiter 请求中携带的delimiter参数。 类型:String 父节点:ListBucketResult EncodingType 对响应中的部分元素进行指定类型的编码。如果请求中设置了encoding-type,那响应中的Delimiter、Marker、Prefix(包括CommonPrefixes中的Prefix)、NextMarker和Key会被编码。 类型:String 父节点:ListBucketResult ETag 对象的MD5摘要。ETag是对象内容的唯一标识,可以通过该值识别对象内容是否有变化。比如上传对象时ETag为A,下载对象时ETag为B,则说明对象内容发生了变化。ETag只反映变化的内容,而不是其元数据。上传的对象或拷贝操作创建的对象,通过MD5加密后都有唯一的ETag。(当对象是服务端加密的对象时,ETag值不是对象的MD5值,而是通过服务端加密计算出的唯一标识。) 类型:String 父节点:ListBucketResult.Contents Type 对象类型,非Normal对象时返回。 类型:String 父节点:ListBucketResult.Contents ID 对象拥有者的DomainId。 类型:String 父节点:ListBucketResult.Contents.Owner IsTruncated 表明是否本次返回的ListBucketResult结果列表被截断。“true”表示本次没有返回全部结果;“false”表示本次已经返回了全部结果。 类型:Boolean 父节点:ListBucketResult Key 对象名。 类型:String 父节点:ListBucketResult.Contents LastModified 对象最近一次被修改的时间(UTC时间)。 类型:Date 父节点:ListBucketResult.Contents Marker 列举对象时的起始位置标识符。 类型:String 父节点:ListBucketResult NextMarker 如果本次没有返回全部结果,响应请求中将包含此字段,用于标明本次请求列举到的最后一个对象。后续请求可以指定Marker等于该值来列举剩余的对象。 类型:String 父节点:ListBucketResult MaxKeys 列举时最多返回的对象个数。 类型:String 父节点:ListBucketResult Name 本次请求的桶名。 类型:String 父节点:ListBucketResult Owner 用户信息,包含对象拥有者DomainId和对象拥有者名称。 类型:XML 父节点:ListBucketResult.Contents DisplayName 对象拥有者名称。 类型:String 父节点:ListBucketResult.Contents.Owner Prefix 对象名的前缀,表示本次请求只列举对象名能匹配该前缀的所有对象。 类型:String 父节点:ListBucketResult Size 对象的字节数。 类型:String 父节点:ListBucketResult.Contents StorageClass 对象的存储类型。 类型:String 有效值:STANDARD | WARM | COLD | DEEP_ARCHIVE 父节点:ListBucketResult.Contents 表3 列举多版本对象响应消息元素 元素名称 描述 ListVersionsResult 保存列举桶中对象列表(含多版本)请求结果的容器。 类型:Container Name 桶名。 类型:String 父节点:ListVersionsResult EncodingType 对响应中的部分元素进行指定类型的编码。如果请求中设置了encoding-type,那响应中的Delimiter、KeyMarker、Prefix(包括CommonPrefixes中的Prefix)、NextKeyMarker和Key会被编码。 类型:String 父节点:ListVersionsResult Prefix 对象名的前缀,表示本次请求只列举对象名能匹配该前缀的所有对象。类型:String 父节点:ListVersionsResult KeyMarker 列举对象时对象的起始位置标识符。 类型:String 父节点:ListVersionsResult VersionIdMarker 列举对象时对象版本号的起始位置。 类型:String 父节点:ListVersionsResult NextKeyMarker 如果本次没有返回全部结果,响应请求中将包含该元素,用于标明接下来请求的KeyMarker值。 类型:String 父节点: ListVersionsResult。 NextVersionIdMarker 如果本次没有返回全部结果,响应请求中将包含该元素,用于标明接下来请求的VersionIdMarker值。 类型:String 父节点: ListVersionsResult。 MaxKeys 列举时最多返回的对象个数。 类型:String 父节点:ListVersionsResult IsTruncated 表明是否本次返回的ListVersionsResult结果列表被截断。“true”表示本次没有返回全部结果;“false”表示本次已经返回了全部结果。 类型:Boolean 父节点:ListVersionsResult Version 保存版本信息的容器 类型:Container 父节点:ListVersionsResult DeleteMarker 保存删除标记的容器 类型:Container 父节点:ListVersionsResult Key 对象名。 类型:String 父节点:ListVersionsResult.Version | ListVersionsResult.DeleteMarker VersionId 对象的版本号。 类型:String 父节点:ListVersionsResult.Version | ListVersionsResult.DeleteMarker IsLatest 标识对象是否是最新的版本,true代表是最新的版本。 类型:Boolean 父节点:ListVersionsResult.Version | ListVersionsResult.DeleteMarker LastModified 对象最近一次被修改的时间(UTC时间)。 类型:Date 父节点:ListVersionsResult.Version | ListVersionsResult.DeleteMarker ETag 对象的base64编码的128位MD5摘要。ETag是对象内容的唯一标识,可以通过该值识别对象内容是否有变化。实际标签是对象的哈希。比如上传对象时ETag为A,下载对象时ETag为B,则说明对象内容发生了变化。ETag只反映变化的内容,而不是其元数据。上传的对象或拷贝操作创建的对象,通过MD5加密后都有唯一的ETag。 类型:String 父节点:ListVersionsResult.Version Type 对象类型,非Normal对象时返回。 类型:String 父节点:ListVersionsResult.Version Size 对象的字节数。 类型:String 父节点:ListVersionsResult.Version Owner 用户信息,包含对象拥有者DomainId和对象拥有者名称。 类型:Container 父节点:ListVersionsResult.Version | ListVersionsResult.DeleteMarker ID 对象拥有者的DomainId。 类型:String 父节点:ListVersionsResult.Version.Owner | ListVersionsResult.DeleteMarker.Owner DisplayName 对象拥有者名称。 类型:String 父节点:ListVersionsResult.Version.Owner | ListVersionsResult.DeleteMarker.Owner StorageClass 对象的存储类型。 类型:String 有效值:STANDARD | WARM | COLD | DEEP_ARCHIVE 父节点:ListVersionsResult.Version CommonPrefixes 请求中带delimiter参数时,返回消息带CommonPrefixes分组信息。 类型:Container 父节点: ListVersionsResult。 Prefix CommonPrefixes分组信息中,表明不同的Prefix。 类型:String 父节点: ListVersionsResult.CommonPrefixes。
  • 请求示例:筛选对象 用户有桶名为examplebucket,桶内共有四个名为newfile,obj001,obj002,obs001的对象,如果只需要列出对象名为obj002的对象,请求消息格式为: GET /?marker=obj001&prefix=obj HTTP/1.1 User-Agent: curl/7.29.0 Host: examplebucket.obs.cn-north-4.myhuaweicloud.com Accept: */* Date: WED, 01 Jul 2015 02:28:25 GMT Authorization: OBS H4IPJX0TQTHTHEBQQCEC:KiyoYze4pmRNPYfmlXBfRTVxt8c=
  • 请求示例:列举桶内对象,桶内包含归档对象 GET / HTTP/1.1 Authorization: OBS H4IPJX0TQTHTHEBQQCEC:iqSPeUBl66PwXDApxjRKk6hlcN4= User-Agent: curl/7.29.0 Host: examplebucket.obs.region.myhuaweicloud.com Date: WED, 01 Jul 2015 02:37:22 GMT Content-Type: application/xml;charset=UTF-8
  • 请求示例:列举所有对象 1 2 3 4 5 6 GET / HTTP/1.1 User-Agent: curl/7.29.0 Host: examplebucket.obs.cn-north-4.myhuaweicloud.com Accept: */* Date: WED, 01 Jul 2015 02:28:25 GMT Authorization: OBS H4IPJX0TQTHTHEBQQCEC:KiyoYze4pmRNPYfmlXBfRTVxt8c=
  • 请求示例:筛选对象 用户有桶名为examplebucket,桶中有3个对象,分别为abcd、abcde、bbcde,指定prefix为a,delimiter为d,abcd、abcde会被分成一组,形成一条前缀为abcd的CommonPrefixes。请求格式为: GET /?prefix=a&delimiter=d HTTP/1.1 Authorization: OBS H4IPJX0TQTHTHEBQQCEC:iqSPeUBl66PwXDApxjRKk6hlcN4= User-Agent: curl/7.29.0 Host: examplebucket.obs.region.myhuaweicloud.com Date: WED, 01 Jul 2015 02:37:22 GMT Content-Type: application/xml;charset=UTF-8
  • 请求示例:多版本 1 2 3 4 5 6 GET /?versions HTTP/1.1 User-Agent: curl/7.29.0 Host: examplebucket.obs.cn-north-4.myhuaweicloud.com Accept: */* Date: WED, 01 Jul 2015 02:29:45 GMT Authorization: OBS H4IPJX0TQTHTHEBQQCEC:iZeDESIMxBK2YODk7vIeVpyO8DI=
  • 请求消息参数 该请求可以通过带参数,列举出桶内的一部分对象,参数的具体含义如表1所示。 表1 请求消息参数 参数名称 描述 是否必选 prefix 列举以指定的字符串prefix开头的对象。 类型:String 否 marker 列举桶内对象列表时,指定一个标识符,从该标识符以后按字典顺序返回对象列表。该字段仅用于非多版本列举。 类型:String 否 max-keys 指定返回的最大对象数,返回的对象列表将是按照字典顺序的最多前max-keys个对象,范围是[1,1000],超出范围时,按照默认的1000进行处理。 类型:Integer 否 delimiter 将对象名进行分组的分隔符。如果指定了prefix,从prefix到第一次出现delimiter间具有相同字符串的对象名会被分成一组,形成一条CommonPrefixes;如果没有指定prefix,从对象名的首字符到第一次出现delimiter间具有相同字符串的对象名会被分成一组,形成一条CommonPrefixes。 例如,桶中有3个对象,分别为abcd、abcde、bbcde。如果指定delimiter为d,prefix为a,abcd、abcde会被分成一组,形成一条前缀为abcd的CommonPrefixes;如果只指定delimiter为d,abcd、abcde会被分成一组,形成一条前缀为abcd的CommonPrefixes,而bbcde会被单独分成一组,形成一条前缀为bbcd的CommonPrefixes。 对于并行文件系统,不携带此参数时默认列举是递归列举此目录下所有内容,会列举子目录。在大数据场景下(目录层级深、目录下文件多)的列举,建议设置[delimiter=/],只列举当前目录下的内容,不列举子目录,提高列举效率。 类型:String 否 key-marker 列举对象时的起始位置。该字段仅用于多版本列举。 类型:String 有效值:上次请求返回体的NextKeyMarker值 否 version-id-marker 本参数只适用于多版本列举场景 与请求中的key-marker配合使用,返回的对象列表将是按照字典顺序排序后在该标识符以后的对象(单次返回最大为1000个)。如果version-id-marker不是key-marker对应的一个版本号,则该参数无效。 类型:String 有效值:对象的版本号,即上次请求返回体的NextVersionIdMarker值 否 encoding-type 对响应中的部分元素进行指定类型的编码。如果Delimiter、Marker(或KeyMarker)、Prefix、NextMarker(或NextKeyMarker)和Key包含xml 1.0标准不支持的控制字符,可通过设置encoding-type对响应中的Delimiter、Marker(或KeyMarker)、Prefix(包括CommonPrefixes中的Prefix)、NextMarker(或NextKeyMarker)和Key进行编码。 类型:String 可选值:url 否
  • 功能介绍 对桶拥有读权限的用户可以执行获取桶内对象列表的操作。 如果用户在请求中只指定了桶名,则返回信息中会包含桶内部分或所有对象的描述信息(一次最多返回1000个对象信息);如果用户还指定了prefix、marker、max-keys、delimiter参数中的一个或多个,则返回的对象列表将按照如表1所示规定的语义返回指定的对象。 用户也可以请求参数中添加versions参数来执行列举桶内多版本对象的操作。
  • 响应示例:创建桶时打开WORM开关 HTTP/1.1 200 OK Server: OBS x-obs-request-id: 00000184C11AC7A6809F881341842C02 x-reserved-indicator: Unauthorized Location: /examplebucket x-obs-id-2: 32AAAQAAEAABSAAgAAEAABAAAQAAEAABCT9W2tcvLmMJ+plfdopaD62S0npbaRUz Date: WED, 01 Jul 2015 02:25:06 GMT Content-Length: 0
  • 响应示例:创建并行文件系统 1 2 3 4 5 6 7 HTTP/1.1 200 OK Server: OBS x-obs-request-id: BF260000016435CE298386946AE4C482 Location: /examplebucket x-obs-id-2: 32AAAQAAEAABSAAgAAEAABAAAQAAEAABCT9W2tcvLmMJ+plfdopaD62S0npbaRUz Date: WED, 01 Jul 2015 02:25:06 GMT Content-Length: 0
  • 响应示例:创建桶并显式配置访问权限 x-obs-id-2: 32AAAQAAEAABAAAQAAEAABAAAQAAEAABCTeau73DlKTh4wPYzoZf5w3KacolerP4 x-obs-request-id: 0000018A2A22B72447CF01A99F32E2B0 Server: OBS Content-Length: 0 Date: WED, 01 Jul 2015 02:37:22 GMT Location: /examplebucket
  • 响应示例:创建桶时选择多AZ 1 2 3 4 5 6 7 8 HTTP/1.1 200 OK Server: OBS x-obs-request-id: BF260000016435CE298386946AE4C482 Location: /examplebucket x-obs-id-2: 32AAAQAAEAABSAAgAAEAABAAAQAAEAABCT9W2tcvLmMJ+plfdopaD62S0npbaRUz Date: WED, 01 Jul 2015 02:25:06 GMT x-obs-az-redundancy:3az Content-Length: 0
  • 请求示例:创建桶时打开WORM开关 PUT / HTTP/1.1 User-Agent: curl/7.29.0 Host: examplebucket.obs.cn-north-4.myhuaweicloud.com Accept: */* Date: WED, 01 Jul 2015 02:25:05 GMT Authorization: OBS H4IPJX0TQTHTHEBQQCEC:75/Y4Ng1izvzc1nTGxpMXTE6ynw= x-obs-bucket-object-lock-enabled:true Content-Length: 0
  • 请求消息头 该操作消息头与普通请求一样,请参见表3,但可以带附加消息头,附加请求消息头如下所示。 表1 附加请求消息头 消息头名称 描述 是否必选 x-obs-acl 创建桶时,可以加上此消息头设置桶的权限控制策略,使用的策略为预定义的常用策略,包括:private、public-read、public-read-write、public-read-delivered、public-read-write-delivered、bucket-owner-full-control(各策略详细说明见ACL章节的“使用头域设置ACL”)。 类型:String 否 x-obs-storage-class 创建桶时,可以加上此消息头设置桶的默认存储类型,默认存储类型有4种:STANDARD(标准存储)、WARM(低频访问存储)、COLD(归档存储)、DEEP_ARCHIVE(深度归档存储)。如果没有指定此头域,则创建的桶为标准存储类型。 类型:String 否 x-obs-grant-read 授权给指定domain下的所有用户有READ权限。允许列举桶内对象、列举桶中多段任务、列举桶中多版本对象、获取桶元数据。 类型:String 示例:x-obs-grant-read:id=租户id 否 x-obs-grant-write 授权给指定domain下的所有用户有WRITE权限。允许创建、删除、覆盖桶内所有对象,允许初始化段、上传段、拷贝段、合并段、取消多段上传任务。 类型:String 示例:x-obs-grant-write:id=租户id 否 x-obs-grant-read-acp 授权给指定domain下的所有用户有READ_ACP权限。允许读桶的ACL信息。 类型:String 示例:x-obs-grant-read-acp:id=租户id 否 x-obs-grant-write-acp 授权给指定domain下的所有用户有WRITE_ACP权限,允许修改桶的ACL信息。 类型: 字符串 示例:x-obs-grant-write-acp:id=租户id 否 x-obs-grant-full-control 授权给指定domain下的所有用户有FULL_CONTROL权限。 类型: 字符串 示例:x-obs-grant-full-control:id=租户id 否 x-obs-grant-read-delivered 授权给指定domain下的所有用户有READ权限,并且在默认情况下,该READ权限将传递给桶内所有对象。 类型:String 示例:x-obs-grant-read-delivered:id=租户id 否 x-obs-grant-full-control-delivered 授权给指定domain下的所有用户有FULL_CONTROL权限,并且在默认情况下,该FULL_CONTROL权限将传递给桶内所有对象。 类型:String 示例:x-obs-grant-full-control-delivered:id=租户id 否 x-obs-az-redundancy 创建桶时带上此消息头设置桶的存储类型为多AZ。不携带时默认为单AZ。用户携带该头域指定新创的桶的存储类型为多AZ,存在一种情况是当该区域如果不支持多AZ存储,则该桶的存储类型仍为单AZ。 类型:String 示例:x-obs-az-redundancy:3az 否 x-obs-fs-file-interface 创建桶时可以带上此消息头以创建并行文件系统。 类型:String 示例:x-obs-fs-file-interface:Enabled 否 x-obs-epid 企业项目id,开通企业项目的用户可以从企业项目服务获取,格式为uuid,默认项目传“0”或者不带该头域,未开通企业项目的用户可以不带该头域。 类型:String 示例:x-obs-epid:9892d768-2d13-450f-aac7-ed0e44c2585f 否 x-obs-bucket-type 创建桶时可以带上此消息头指定创建的桶类型,桶类型包括OBS桶和文件桶。 类型:String OBJECT:对象存储桶。 POSIX:并行文件系统。 示例:x-obs-bucket-type:OBJECT 否 x-obs-bucket-object-lock-enabled 创建桶时可以带上此消息头来开启WORM开关。 类型:String 示例:x-obs-bucket-object-lock-enabled:true 否 x-obs-server-side-encryption 创建桶时可以带上此头域来指定桶加密配置的加密模式。 类型:String 有效值:kms, obs 示例:x-obs-server-side-encryption: kms 否 x-obs-server-side-data-encryption 创建桶时带上此头域来指定服务端加密配置的加密算法。 类型:String 有效值:AES256、SM4 当携带了x-obs-server-side-encryption:kms, 该头域可选 AES256、SM4; 当携带了x-obs-server-side-encryption:obs, 该头域可选 AES256。 示例:x-obs-server-side-data-encryption: AES256 否 x-obs-server-side-encryption-kms-key-id SSE-KMS加密方式下使用的KMS主密钥,如果用户没有提供该头域,那么默认的主密钥将会被使用。 类型:String 有效值支持两种格式: regionID:domainID(账号ID):key/key_id key_id 其中: regionID是使用密钥所属region的ID,可在地区和终端节点页面获取。 domainID是使用密钥所属账号的账号ID,获取方法参见获取账号ID和用户ID; key_id是从数据加密服务创建的密钥ID,获取方法请参见查看密钥。 如果携带了x-obs-server-side-encryption: kms,该头域可选。 x-obs-sse-kms-key-project-id SSE-KMS加密方式下KMS主密钥所属的项目ID(非企业项目ID)。 类型:String 有效值:与x-obs-server-side-encryption-kms-key-id指定的KMSMasterKeyID相匹配的项目ID(非企业项目ID)。 如果未携带x-obs-server-side-encryption-kms-key-id,则不能携带该头域。
  • 存储类型 允许用户创建不同默认存储类型的桶。发送创桶请求时携带头域“x-obs-storage-class”来指定桶的默认存储类型。桶内对象的存储类型与桶默认存储类型保持一致。存储类型有4种:STANDARD(标准存储)、WARM(低频访问存储)、COLD(归档存储)、DEEP_ARCHIVE(深度归档存储)。如果没有携带此头域 ,则创建的桶为标准存储类型。 当往桶内上传对象时,如果没有指定对象的存储类别(参考PUT上传),则该对象的存储类型取桶的默认存储类型。 OBS标准存储拥有低访问时延和较高的吞吐量,因而适用于有大量热点文件需要频繁访问数据的业务场景,例如:大数据、移动应用、热点视频、社交图片等场景。 OBS低频访问存储适用于不频繁访问(少于每月一次访问)但在需要时也要求快速访问数据的业务场景,例如:文件同步/共享、企业备份等场景。与标准存储相比,低频访问存储有相同的数据持久性、吞吐量以及访问时延,且成本较低,但是可用性略低于标准存储。 OBS归档存储适用于很少访问(平均一年访问一次)数据的业务场景,例如:数据归档、长期备份等场景。归档存储安全、持久且成本极低,可以用来替代磁带库。为了保持成本低廉,数据恢复时间可能长达数分钟到数小时不等。 深度归档存储(受限公测)适用于长期不访问(平均几年访问一次)数据的业务场景,其成本相比归档存储更低,但相应的数据恢复时间将更长,一般为数小时。