Configure requester bandwidth throttling for a RAM user in a resource pool.
Notes
Resource pool quality of service (QoS) is in invitational preview. If the throughput of Object Storage Service (OSS) buckets in a specific region is greater than or equal to 500 Gbit/s, contact technical support to apply for this feature.
By default, an Alibaba Cloud account has the permissions to configure requester bandwidth throttling for a RAM user in a resource pool. To configure requester bandwidth throttling for a RAM user by using another RAM user or Security Token Service (STS), you must have the
oss:PutResourcePoolRequesterQoSInfo
permission. For more information, see Attach a custom policy to a RAM user.The configuration of each item cannot exceed the bandwidth throttling configurations of the bucket.
A value of -1 specifies that no limits are imposed on the field. If a field is not specified, the default value is -1. A value of 0 specifies that a specific type of access request is prohibited.
The configuration of subitems cannot exceed the total configuration of an item. For example, if you set the total upload bandwidth to 10 Gbit/s, the upload bandwidth over the internal network cannot exceed 10 Gbit/s.
The requester bandwidth throttling cannot be lower than 5 Gbit/s. For example, the upload bandwidth must be greater than or equal to 5 Gbit/s.
A single bucket supports bandwidth throttling for up to 300 RAM users.
Syntax
ossutil api invoke-operation --op-name put-resource-pool-requester-qos-info --method PUT --parameters resourcePool=<resource-pool> --parameters qosRequester=<uid> --parameters requesterQosInfo --body=file://<path-to-xml>
Parameter | Type | Description |
--parameters | stringArray | The request parameters in the k[=v] format, such as versionId=123 and delete. |
--body | string | The request body. file:// specifies that the configurations are read from a file, whereas - specifies that configurations are read from standard inputs. |
--body
The --body parameter supports the XML format. If the value of the parameter starts with file://, the configurations are loaded from a specific file.
<QoSConfiguration>
<TotalUploadBandwidth>integer</TotalUploadBandwidth>
<IntranetUploadBandwidth>integer</IntranetUploadBandwidth>
<ExtranetUploadBandwidth>integer</ExtranetUploadBandwidth>
<TotalDownloadBandwidth>integer</TotalDownloadBandwidth>
<IntranetDownloadBandwidth>integer</IntranetDownloadBandwidth>
<ExtranetDownloadBandwidth>integer</ExtranetDownloadBandwidth>
<TotalQps>integer</TotalQps>
<IntranetQps>integer</IntranetQps>
<ExtranetQps>integer</ExtranetQps>
</QoSConfiguration>
Parameter | Type | Required | Example | Unit | Description |
TotalUploadBandwidth | Integer | Yes | 10 | Gbps | The total upload bandwidth. Parent nodes: QoSConfiguration |
IntranetUploadBandwidth | Integer | Yes | -1 | Gbps | The upload bandwidth over internal networks. The internal networks include the classic network and VPC. Unit: Gbit/s. Parent nodes: QoSConfiguration |
ExtranetUploadBandwidth | Integer | Yes | -1 | Gbps | The upload bandwidth over external networks. The external networks include the Internet and CDN. Parent nodes: QoSConfiguration |
TotalDownloadBandwidth | Integer | Yes | 10 | Gbps | The total download bandwidth. Parent nodes: QoSConfiguration |
IntranetDownloadBandwidth | Integer | Yes | -1 | Gbps | The download bandwidth over internal networks. The internal networks include the classic network and VPC. Unit: Gbit/s. Parent nodes: QoSConfiguration |
ExtranetDownloadBandwidth | Integer | Yes | -1 | Gbps | The download bandwidth over external networks. The external networks include the Internet and CDN. Parent nodes: QoSConfiguration |
For more information about supported global command-line options, see Global command-line options.
Examples
Add QoS configurations to a requester whose ID is 202835923910178019
in a resource pool named examplePool
by creating an XML configuration file named qos.xml and adding the following sample code to the configuration file:
<QoSConfiguration>
<TotalUploadBandwidth>10</TotalUploadBandwidth>
<IntranetUploadBandwidth>-1</IntranetUploadBandwidth>
<ExtranetUploadBandwidth>-1</ExtranetUploadBandwidth>
<TotalDownloadBandwidth>10</TotalDownloadBandwidth>
<IntranetDownloadBandwidth>-1</IntranetDownloadBandwidth>
<ExtranetDownloadBandwidth>-1</ExtranetDownloadBandwidth>
<TotalQps>-1</TotalQps>
<IntranetQps>-1</IntranetQps>
<ExtranetQps>-1</ExtranetQps>
</QoSConfiguration>
The following items describe the parameters:
The TotalUploadBandwidth parameter is set to 10, which specifies that the total upload bandwidth is 10 Gbit/s. The total upload bandwidth over internal networks and public networks cannot exceed 10 Gbit/s.
The IntranetUploadBandwidth parameter is set to -1, which specifies that no limits are imposed on the upload bandwidth over internal networks. However, the upload bandwidth over internal networks must be less than or equal to the total upload bandwidth which is 10 Gbit/s.
The ExtranetUploadBandwidth parameter is set to -1, which specifies that no limits are imposed on the upload bandwidth over public networks. However, the upload bandwidth over public networks must be less than or equal to the total upload bandwidth which is 10 Gbit/s.
The TotalDownloadBandwidth parameter is set to 10, which specifies that the total download bandwidth is 10 Gbit/s. The total download bandwidth over internal networks and public networks cannot exceed 10 Gbit/s.
The IntranetDownloadBandwidth parameter is set to -1, which specifies that no limits are imposed on the download bandwidth over internal networks. However, the download bandwidth over internal networks must be less than or equal to the total download bandwidth which is 10 Gbit/s.
The ExtranetDownloadBandwidth parameter is set to -1, which specifies that no limits are imposed on the download bandwidth over public networks. However, the download bandwidth over public networks must be less than or equal to the total download bandwidth which is 10 Gbit/s.
Retain the default value -1 for the TotalQps, IntranetQps, and ExtranetQps parameters, which specifies that no limits are imposed on queries per second (QPS).
Sample command:
ossutil api invoke-operation --op-name put-resource-pool-requester-qos-info --method PUT --parameters resourcePool=examplePool --parameters qosRequester=202835923910178019 --parameters requesterQosInfo --body=file://qos.xml