Torch Object Storage
Priority | Guaranteed quota | Demand | Allocation | Description |
Priority | Guaranteed quota | Demand | Allocation | Description |
Priority 3 | 20 Gbps | 80 Gbps | 70Gbps | Receives 20 Gbps of guaranteed quota + 10 Gbps of idle time from Priority-1 workloads + 40 Gbps from the pool (after deducting all guaranteed quotas from the total resources). |
Priority 2 | 20 Gbps | 30 Gbps | 20 Gbps | Receives 20 Gbps of guaranteed quota. The additional 10 Gbps it requires is preempted by Priority-3 workloads. |
Priority 1 | 20 Gbps | 10 Gbps | 10 Gbps | Receives the demanded 10 Gbps from the guaranteed quota, with remaining 10 Gbps being preempted by Priority-3 workloads. |
Priority | Guaranteed quota | Demand | Allocation | Description |
Priority | Guaranteed quota | Demand | Allocation | Description |
Priority 3 | 25 Gbps | 60 Gbps | 60 Gbps | Receives 25 Gbps of guaranteed quota + 35 Gbps preempted as the top priority. |
Priority 2 | 25 Gbps | 40 Gbps | 35Gbps | Receives 25 Gbps of guaranteed quota + 10 Gbps preempted as the second highest priority. |
Priority 1 | 25 Gbps | 5 Gbps | 5 Gbps | Receives 5 Gbps as the demand is less than the guaranteed quota. |
Priority | Guaranteed quota | Demand | Allocation | Description |
Priority | Guaranteed quota | Demand | Allocation | Description |
Priority 3 | 10 Gbps | 30 Gbps | 30 Gbps | Demand fully satisfied as the highest priority. |
Priority 2 | 10 Gbps | 50 Gbps | 50 Gbps | Demand fully satisfied as the second highest priority. |
Priority 1 | 10 Gbps | 50 Gbps | 20 Gbps | Receives 10 Gbps of guaranteed quote + 10 Gbps from the pool. |
Parameter | Required | Description | Example |
Parameter | Required | Description | Example |
Sid | No | A unique identifier for the policy statement. The statement names must:
If this parameter is not specified, TOS will automatically generate a statement name. | {"Sid":"Test"} |
Quota | Yes | The throttling limits for the QoS policy. Options:
| "Quota": { "WritesQps": "100", "ReadsQps": "100", "ListQps": "100", "WritesRate": "10", "ReadsRate": "10", "FetchQps": "100", "FetchRate": "10", "AsyncFetchQps": "100", "AsyncFetchRate": "10" } |
Priority | No tip This parameter is required for priority-based throttling. | The priority of the QoS policy defines the order in which different workloads compete for resources. A higher-priority workload can take resources away from a lower-priority one. | "Priority": [ { "PriorityLevel": 2, "GuaranteedQuota": { "WritesRate": "1000" }, "Principal": [ "trn:iam::200000:user/core-service" ], "Resource": "trn:tos:::critical-bucket2/*" }, { "PriorityLevel": 1, "GuaranteedQuota": { "WritesRate": "1000" }, "Principal": [ "trn:iam::200000:user/core-service" ], "Resource": "trn:tos:::critical-bucket1/*" } ] |
PriorityLevel | No tip This parameter is required for priority-based throttling. | The QoS policy's priority level follows these rules:
| {"PriorityLevel": 3} |
GuaranteedQuota | No tip This parameter is required for priority-based throttling. | The minimum amount of resources reserved for a specific priority level. Even when the system is fully loaded, this level is guaranteed to receive this amount or more. This value follows the same rules as the Quota parameter. Each priority level must be assigned a guaranteed quota greater than 0. In other words, a guaranteed quota must be assigned to each additional priority level. The sum of the guaranteed quotas for all priority levels must be less than or equal to the total quota. | "GuaranteedQuota": { "WritesRate": "3000" } |
Resource | No tip When configuring a QoS policy, you must specify the target resources using either the Resource or NotResource parameter. | The resources that are subject to throttling.
| "Resource":[ // Apply the QoS policy to all buckets. "trn:tos:::*", // Apply the QoS policy to all objects within the "bucketname" bucket. "trn:tos:::bucketname/*", // Apply the QoS policy to objects with the "objectPrefix" prefix in the "bucketname" bucket. "trn:tos:::bucketname/objectPrefix*" ] |
NotResource | No tip When configuring a QoS policy, you must specify the target resources using either the Resource or NotResource parameter. | The resources that are not subject to throttling.
tip NotResource does not support the use of * at the bucket level (e.g., "NotResource":["trn:tos:::*"]). | "NotResource":[ // Apply the QoS policy to all buckets except the "bucketname" bucket. "trn:tos:::bucketname/*", // Apply the QoS policy to all objects in the "bucketname" bucket, except objects with the "objectPrefix" prefix. "trn:tos:::bucketname/objectPrefix*" ] |
Principal | No tip When configuring a QoS policy, you must specify the target account using either the Principal or NotPrincipal parameter. | The accounts, IAM users, or roles that are subject to throttling. | "Principal": [ // Apply the QoS policy to the role 'tos_role' under account 200000****. "trn:iam::200000****:role/tos_role", // Apply the QoS policy to the user 'tos_user' under account 200000****. "trn:iam::200000****:user/tos_user", // Apply the QoS policy to account 200001****. "trn:iam::200001****:root", // Apply the QoS policy to all users under account 200000****. "*" ] |
NotPrincipal | No tip When configuring a QoS policy, you must specify the target account using either the Principal or NotPrincipal parameter. | The accounts, IAM users, or roles that are not subject to throttling. tip Using a wildcard (*) with NotPrincipal is not supported. In other words, "NotPrincipal":["*"] is not permitted. | "NotPrincipal": [ // Apply the QoS policy to all roles except 'tos_role' under account 200000****. "trn:iam::200000****:role/tos_role", // Apply the QoS policy to all users except 'tos_user' under account 200000****. "trn:iam::200000****:user/tos_user", // Apply the QoS policy to all accounts except account 200000****. "trn:iam::200001****:root" ] |
Condition | No | "Condition": { "IpAddress": { "SourceIp": [ "192.168.0.1", "192.168.0.3" ] } } |
Key | Condition operator type | Key description | Value description |
Key | Condition operator type | Key description | Value description |
CurrentTime | Date | The time when the server receives a request, in the UTC time format yyyy-MM-ddTHH:mmZ, according to ISO 8601. | Enter a date in ISO 8601 format. For example, if the QoS policy condition is set to CurrentTime is greater than 2023-10-13T15:00:00Z, the time at which an authorized account performs the corresponding action must be after 2023-10-13T15:00:00Z. Otherwise, the QoS policy will not take effect. |
EpochTime | Numeric | The number of seconds that have elapsed since midnight on January 1, 1970, UTC/GMT, excluding leap seconds. | Enter the number of seconds. For example, if the QoS policy condition is set to EpochTime is greater than 1697187692, the time at which an authorized account performs the corresponding action must be after 1697187692. Otherwise, the QoS policy will not take effect. |
SourceIp | String | The source IP of the request. | Enter IP addresses or ranges. Use commas to separate multiple IP addresses. For example, if the QoS policy condition is set to SourceIp is equal to 192.168.0.1, the source IP address must be "192.168.0.1" when an authorized account performs the corresponding action. Otherwise, the QoS policy will not take effect. |
SourceVpc | String | The VPC from which the request has been initiated. | Enter a VPC ID. For example, if the QoS policy condition is set to SourceVpc is equal to vpc-2d****ez0n, an authorized account must make the request from the vpc-2d****ez0n VPC when performing the corresponding action. Otherwise, the QoS policy will not take effect. |
UserAgent | String | The user agent of the request. | Enter the information of the agent and a wildcard (*), where applicable. For example, if the QoS policy condition is set to UserAgent is equal to tos go sdk v2.6.0, the user agent must be "tos go sdk v2.6.0" when an authorized account performs the corresponding action. Otherwise, the QoS policy will not take effect. |
Referer | String | The URL from which the resource has been requested. | Enter a URL. For example, if the QoS policy condition is set to Referer is equal to http://console.volcengine.com, the request header must be http://console.volcengine.com when an authorized account performs the corresponding action. Otherwise, the QoS policy will not take effect. |
Host | String | The domain name accessed by the request. | Enter a domain name. For example, if the QoS policy condition is set to Host is equal to bucketname.tos-cn-beijing.volces.com, an authorized account must perform the corresponding action via the bucketname.tos-cn-beijing.volces.com domain name. Otherwise, the QoS policy will not take effect. |
NetPlane | String | The layer of network architecture from which the request has been initiated. | The value is fixed as public, indicating the request should come from the public network. For example, if the QoS policy condition is set to NetPlane is equal to public, an authorized account must make the request from the public network when performing the corresponding action. Otherwise, the QoS policy will not take effect. |
ProjectName | String | The project to which the requested resources belong. | Enter the project to which the requested resources belong. For example, if the QoS policy condition is set to ProjectName is equal to test, the requested resources must belong to the test project when an authorized account performs the corresponding action. Otherwise, the QoS policy will not take effect. |
DataAccessPointTrn | String | Controls traffic sent to and from the specified access point. | Enter an access point TRN. For example, if the QoS policy condition is set to DataAccessPointTrn is equal to trn:tos:cn-beijing:214748****:accesspoint/bbb, the QoS policy will only apply when the principal accesses the bucket through the trn:tos:cn-beijing:214748****:accesspoint/bbb access point. tip Use the DataAccessPointTrn condition only when you want to control traffic based on access points. |
DataAccessPointAccount | String | Controls traffic sent to and from access points within a specific account. | Enter an account ID. For example, if the QoS policy condition is set to DataAccessPointAccount is equal to 214748****, the QoS policy will only apply when the principal uses access points of the account 214748**** to access the bucket. tip Use the DataAccessPointAccount condition only when you want to control traffic based on access points. |
AccessPointNetworkOrigin | String | Controls traffic sent to and from access points with the specified network origin. | Enter VPC or Internet.
For example, if the QoS policy condition is set to AccessPointNetworkOrigin is equal to VPC, the QoS policy will only apply when the principal uses access points with a VPC network origin to access the bucket. tip Use the AccessPointNetworkOrigin condition only when you want to control traffic based on access points. |
Condition key | Condition operator |
Condition key | Condition operator |
|
|
|
|
|
|