获取桶QoS配置-GetBucketQosInfo
功能介绍
本接口用于获取指定桶的QoS配置,支持获取桶请求的Qps、带宽、并发请求数配置。
接口约束
- 当前配置桶QoS为邀测功能,仅对开放的租户使用。
- 当前仅桶级QoS规则支持用户自定义,租户级QoS规则可联系提交工单联系技术人员调整。如果桶没有配置桶级QoS规则,那么该桶最大可使用到账号下集群资源的最大值。
- 桶所属集群的指标如果没有限制,那么桶可配置的对应指标最大为263-1。
- QPS或带宽任一指标超过阈值会触发流控。触发流控时,请求时延会上升,请求响应中会携带头域x-obs-qos-delay-time,该头域为请求被流控的时长,单位为ms。上传类请求(PUT上传、上传段等)会返回精确的被流控时长,下载类请求(下载对象等)会返回根据流控程度和文件大小估算出的被流控时长。
- 并发请求数超过阈值会触发流控。触发流控时,请求会立即失败,返回429。当QPS或带宽流控时,由于请求时延上升,也会导致并发请求数增加。
授权信息
您必须是桶拥有者或拥有获取桶QoS配置的权限,才能调用本接口,建议使用IAM或桶策略进行授权。了解更多OBS授权方式请参见OBS不同权限控制方式的区别。
- 如果使用IAM授权,那么请在“角色与策略授权”、“身份策略授权”两种IAM授权方式中选择一种,并配置相应权限:
- 如果使用角色与策略授权(旧版IAM,即IAM v3接口),需具备obs:bucket:GetBucketQosInfo权限,授权操作请参见创建IAM自定义策略。
- 如果使用身份策略授权(新版IAM,即IAM v5接口),如下表所示,需具备obs:bucket:getBucketQosInfo权限,授权操作请参见创建IAM自定义身份策略。
授权项
Action
访问级别
Access Level
资源类型(*为必须)
Resource Type (*: required)
Condition Key
Alias
依赖的授权项
Dependencies
obs:bucket:getBucketQosInfo
Read
bucket *
-
-
-
- obs:EpochTime
- obs:SourceIp
- obs:TlsVersion
- obs:CustomDomain
- 如果使用桶策略进行授权,需具备obs:bucket:GetBucketQosInfo权限,具体操作请参见自定义创建桶策略。
URI
GET /
请求消息样式
以下为请求消息样例,请将示例中的BucketName修改为您的桶名,RegionID修改为桶所在的区域ID,可参考支持区域获取区域ID。
GET /?x-obs-qosInfo HTTP/1.1 User-Agent: curl/7.29.0 Host: BucketName.obs.RegionID.myhuaweicloud.com Accept: */* Date: GMT Date Authorization: SignatureValue
URI参数(URI Parameters)
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| inventory | 是 | String | 参数解释: 用于标识API接口与桶清单有关。 约束限制: 计算签名时,请在CanonicalizedResource中添加“/BucketName/?inventory”,详情参见签名计算。 取值范围: inventory 默认取值: 不涉及 |
请求头参数(Request headers)
该请求使用公共请求头,具体参见表3。
请求体参数(Request body)
该请求消息中不带请求体参数。
响应消息样式
HTTP/1.1 status_code
Server: OBS
x-obs-request-id: request id
x-obs-id-2: id
Content-Type: application/xml
Date: date
Content-Length: length
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<GetBucketQoSResponse xmlns="http://obs.myhwclouds.com/doc/2015-06-30/">
<QoSConfiguration>
<QoSRule>
<NetworkType>total</NetworkType>
<ConcurrentRequestLimit>1000</ConcurrentRequestLimit>
<QpsLimit>
<Get>1000</Get>
<PutPostDelete>1000</PutPostDelete>
<List>1000</List>
<Total>1000</Total>
</QpsLimit>
<BpsLimit>
<Get>1000</Get>
<PutPost>1000</PutPost>
<Total>1000</Total>
</BpsLimit>
</QoSRule>
</QoSConfiguration>
<ResourceCluster>LZ1</ResourceCluster>
<ResourceClusterConfiguration>
<QoSRule>
<NetworkType>total</NetworkType>
<ConcurrentRequestLimit>2000</ConcurrentRequestLimit>
<QpsLimit>
<Get>15000</Get>
<PutPostDelete>15000</PutPostDelete>
<List>1000</List>
<Total>15000</Total>
</QpsLimit>
<BpsLimit>
<Get>21474836480</Get>
<PutPost>21474836480</PutPost>
<Total>32212254720</Total>
</BpsLimit>
</QoSRule>
</ResourceClusterConfiguration>
</GetBucketQoSResponse> 响应头 (Response Headers)
该请求的响应消息使用公共响应头,具体请参考表1。
响应体 (Response Body)
获取桶QoS请求返回包含桶QoS配置(QoSConfiguration)、桶所在集群(ResourceCluster)、桶所在集群QoS配额(ResourceClusterConfiguration)。
响应元素的具体含义参见表2所示。
| 参数名称 | 参数类型 | 描述 |
|---|---|---|
| GetBucketQoSResponse | Container | 参数解释: 桶QoS配置的根元素。GetBucketQoSResponse是QoSConfiguration、ResourceCluster、ResourceClusterConfiguration的父元素。 取值范围: 不涉及 |
| QoSConfiguration | Container | 参数解释: 桶QoS配置的子元素。 取值范围: |
| ResourceCluster | Container | 参数解释: 当前桶所在的集群id。 取值范围: 不涉及 |
| ResourceClusterConfiguration | Container | 参数解释: 当前租户在本集群的QoS配额。 取值范围: |
| 参数名称 | 参数类型 | 描述 |
|---|---|---|
| QoSRule | Container | 参数解释: 账号在桶所在集群的QoS规则。 取值范围: 请详见集群租户配额QoSRule。 |
| 参数名称 | 参数类型 | 描述 |
|---|---|---|
| NetworkType | Enum | 参数解释: 桶QoS限制范围。 取值范围:
|
| ConcurrentRequestLimit | Integer | 参数解释: 桶请求Qps限制,单位次/s。 取值范围: 0-9223372036854775807 |
| QpsLimit | Container | 参数解释: 桶请求Qps限制规则。 取值范围: 请详见桶QpsLimit。 |
| BpsLimit | Container | 参数解释: 桶请求带宽限制规则。 取值范围: 请详见桶BpsLimit。 |
| 参数名称 | 参数类型 | 描述 |
|---|---|---|
| Get | Integer | 参数解释: 桶下载请求Qps限制,单位次/s。 取值范围: 0-9223372036854775807 |
| PutPostDelete | Integer | 参数解释: 桶上传请求Qps限制,单位次/s。 取值范围: 0-9223372036854775807 |
| List | Integer | 参数解释: 桶列举请求Qps限制,单位次/s。 取值范围: 0-9223372036854775807 |
| Total | Integer | 参数解释: 桶总请求Qps限制,单位次/s。不包含list请求。 取值范围: 0-9223372036854775807 |
| 参数名称 | 参数类型 | 描述 |
|---|---|---|
| Get | Integer | 参数解释: 桶下载请求带宽限制,单位Byte/s。 取值范围: 0-9223372036854775807 |
| PutPost | Integer | 参数解释: 桶上传请求带宽限制,单位Byte/s。 取值范围: 0-9223372036854775807 |
| Total | Integer | 参数解释: 桶请求总带宽限制,单位Byte/s。 取值范围: 0-9223372036854775807 |
| 参数名称 | 参数类型 | 描述 |
|---|---|---|
| NetworkType | Enum | 参数解释: 账号在桶所在集群的限制范围。 取值范围:
|
| ConcurrentRequestLimit | Integer | 参数解释: 账号在桶所在集群的请求Qps限制,单位次/s。 取值范围: 0-9223372036854775807 |
| QpsLimit | Container | 参数解释: 账号在桶所在集群的请求Qps限制规则。 取值范围: 请详见账号在桶所在集群的Qps限制。 |
| BpsLimit | Container | 参数解释: 账号在桶所在集群的请求带宽限制规则。 取值范围: 请详见账号在桶所在集群的Bps限制。 |
| 参数名称 | 参数类型 | 描述 |
|---|---|---|
| Get | Integer | 参数解释: 账号在桶所在集群的下载请求Qps限制,单位次/s。 取值范围: 0-9223372036854775807 |
| PutPostDelete | Integer | 参数解释: 账号在桶所在集群的上传请求Qps限制,单位次/s。 取值范围: 0-9223372036854775807 |
| List | Integer | 参数解释: 账号在桶所在集群的列举请求Qps限制,单位次/s。 取值范围: 0-9223372036854775807 |
| Total | Integer | 参数解释: 账号在桶所在集群的总请求Qps限制,单位次/s。 取值范围: 0-9223372036854775807 |
错误响应消息
无特殊错误,所有错误已经包含在错误码概述中。
请求示例
GET /?x-obs-qosInfo HTTP/1.1 User-Agent: curl/7.29.0 Host: bucketname.obs.cn-north-4.myhuaweicloud.com Accept: */* Date: Thu, 22 May 2025 01:46:15 +0000 Authorization: OBS UDSIAMSTUBTEST000254:ydH8ffpcbS6YpeOMcEZfn0wE90c=
响应示例
HTTP/1.1 200 OK
x-obs-request-id: 00000196F5AB71675306486100049006
x-obs-id-2: 36AAAQAAEAABAAAQAAEAABAAAQAAEAABAAAaI=AAAAAAAAAAAAAAAAAAAAAAAAAA
Content-Type: application/xml
Date: Thu, 22 May 2025 01:46:15 GMT
Content-Length: 822
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<GetBucketQoSResponse xmlns="http://obs.myhwclouds.com/doc/2015-06-30/">
<QoSConfiguration>
<QoSRule>
<NetworkType>total</NetworkType>
<ConcurrentRequestLimit>1000</ConcurrentRequestLimit>
<QpsLimit>
<Get>1000</Get>
<PutPostDelete>1000</PutPostDelete>
<List>1000</List>
<Total>1000</Total>
</QpsLimit>
<BpsLimit>
<Get>512000</Get>
<PutPost>512000</PutPost>
<Total>512000</Total>
</BpsLimit>
</QoSRule>
</QoSConfiguration>
<ResourceCluster>LZ1</ResourceCluster>
<ResourceClusterConfiguration>
<QoSRule>
<NetworkType>extranet</NetworkType>
<BpsLimit>
<Get>21474836480</Get>
<PutPost>21474836480</PutPost>
</BpsLimit>
</QoSRule>
<QoSRule>
<NetworkType>total</NetworkType>
<ConcurrentRequestLimit>2000</ConcurrentRequestLimit>
<QpsLimit>
<Get>15000</Get>
<PutPostDelete>15000</PutPostDelete>
<List>1000</List>
</QpsLimit>
<BpsLimit>
<Get>21474836480</Get>
<PutPost>21474836480</PutPost>
</BpsLimit>
</QoSRule>
</ResourceClusterConfiguration>
</GetBucketQoSResponse>