Modifies the bandwidth throttling configurations of a bucket.
Usage 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 bandwidth throttling for a bucket. To configure bandwidth throttling for a bucket by using a RAM user or Security Token Service (STS), you must have the
oss:PutBucketRequesterQoSInfo
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-bucket-requester-qos-info --method PUT --bucket=<bucket-name> --parameters requesterQosInfo --parameters qosRequester=<uid> --body file://<path-to-xml>
Parameter | Type | Description |
--bucket | string | The name of the bucket. |
--parameters | stringArray | The request parameters of the request in the k[=v] format, such as versionId=123 and delete. |
--body | string | The request body. file:// specifies that 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 bandwidth for upload requests. Parent node: QoSConfiguration |
IntranetUploadBandwidth | Integer | Yes | -1 | Gbps | The upload bandwidth over internal networks. The internal networks include the classic network and virtual private clouds (VPCs). Unit: Gbit/s. Parent node: QoSConfiguration |
ExtranetUploadBandwidth | Integer | Yes | -1 | Gbps | The upload bandwidth over external networks. The external networks include the Internet and Alibaba Cloud Content Delivery Network (CDN). Parent node: QoSConfiguration |
TotalDownloadBandwidth | Integer | Yes | 10 | Gbps | The total bandwidth for download requests. Parent node: QoSConfiguration |
IntranetDownloadBandwidth | Integer | Yes | -1 | Gbps | The download bandwidth over internal networks. The internal networks include the classic network and VPCs. Unit: Gbit/s. Parent node: QoSConfiguration |
ExtranetDownloadBandwidth | Integer | Yes | -1 | Gbps | The download bandwidth over external networks. The external networks include the Internet and CDN. Parent node: 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 202835923910178018
in a bucket named examplebucket
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-bucket-requester-qos-info --method PUT --bucket=examplebucket --parameters requesterQosInfo --parameters qosRequester=202835923910178018 --body file://qos.xml