Creating an Excluded Request Throttling Configuration
Function
A request throttling policy controls the maximum number of times an API can be accessed within a specified period and the maximum numbers of times the API can be accessed by a tenant or an app within the same period.
When necessary, you can create an excluded request throttling configuration to specify the threshold of API calls for a specific app. For example, after you set the API call threshold for all apps to 500 calls/minute, you can specify the API call threshold of app 1 as 800 calls/minute.
You can add excluded apps or tenants to a request throttling policy.
Authorization Information
Each account has all the permissions required to call all APIs, but IAM users must be assigned the required permissions. For details about the required permissions, see Permissions Policies and Supported Actions.
URI
POST /v2/{project_id}/apic/instances/{instance_id}/throttles/{throttle_id}/throttle-specials
|
Parameter |
Mandatory |
Type |
Description |
|---|---|---|---|
|
project_id |
Yes |
String |
Project ID. For details about how to obtain the project ID, see Appendix > Obtaining a Project ID in the ROMA Connect API Reference. |
|
instance_id |
Yes |
String |
Instance ID. |
|
throttle_id |
Yes |
String |
ID of a request throttle policy. |
Request Parameters
|
Parameter |
Mandatory |
Type |
Description |
|---|---|---|---|
|
X-Auth-Token |
Yes |
String |
User token, which can be obtained by calling the IAM API (value of X-Subject-Token in the response header). |
|
Parameter |
Mandatory |
Type |
Description |
|---|---|---|---|
|
call_limits |
Yes |
Integer |
Maximum number of times that a special object can access an API within the throttling period. |
|
object_id |
Yes |
String |
Special credential ID. Or special tenant account ID. |
|
object_type |
Yes |
String |
Excluded object type. |
Response Parameters
Status code: 201
|
Parameter |
Type |
Description |
|---|---|---|
|
id |
String |
Excluded request throttling configuration ID. |
|
call_limits |
Integer |
Maximum number of times the excluded object can access an API within the throttling period. |
|
apply_time |
String |
Time when the excluded request throttling configuration is created. |
|
app_name |
String |
Name of the app to which the excluded request throttling configuration applies. |
|
app_id |
String |
ID of the app to which the excluded request throttling configuration applies. |
|
object_id |
String |
ID of an object specified in the excluded configuration. |
|
object_type |
String |
Excluded object type, which can be APP or USER. |
|
object_name |
String |
Object credential or tenant name. |
|
throttle_id |
String |
Request throttling policy ID. |
Status code: 400
|
Parameter |
Type |
Description |
|---|---|---|
|
error_code |
String |
Error code. |
|
error_msg |
String |
Error description. |
Status code: 401
|
Parameter |
Type |
Description |
|---|---|---|
|
error_code |
String |
Error code. |
|
error_msg |
String |
Error description. |
Status code: 403
|
Parameter |
Type |
Description |
|---|---|---|
|
error_code |
String |
Error code. |
|
error_msg |
String |
Error description. |
Status code: 404
|
Parameter |
Type |
Description |
|---|---|---|
|
error_code |
String |
Error code. |
|
error_msg |
String |
Error description. |
Status code: 500
|
Parameter |
Type |
Description |
|---|---|---|
|
error_code |
String |
Error code. |
|
error_msg |
String |
Error description. |
Example Requests
Add an excluded app to a specified request throttling policy.
{
"call_limits" : 150,
"object_id" : "356de8eb7a8742168586e5daf5339965",
"object_type" : "APP"
}
Example Responses
Status code: 201
Created
{
"call_limits" : 150,
"app_name" : "app_demo",
"object_name" : "app_demo",
"object_id" : "356de8eb7a8742168586e5daf5339965",
"throttle_id" : "3437448ad06f4e0c91a224183116e965",
"apply_time" : "2020-08-04T02:40:56.717710961Z",
"id" : "a3e9ff8db55544ed9db91d8b048770c0",
"app_id" : "356de8eb7a8742168586e5daf5339965",
"object_type" : "APP"
}
Status code: 400
Bad Request
{
"error_code" : "APIG.2003",
"error_msg" : "The parameter value is too large,parameterName:call_limits. Please refer to the support documentation"
}
Status code: 401
Unauthorized
{
"error_code" : "APIG.1002",
"error_msg" : "Incorrect token or token resolution failed"
}
Status code: 403
Forbidden
{
"error_code" : "APIG.1005",
"error_msg" : "No permissions to request this method"
}
Status code: 404
Not Found
{
"error_code" : "APIG.3004",
"error_msg" : "App 356de8eb7a8742168586e5daf5339965 does not exist"
}
Status code: 500
Internal Server Error
{
"error_code" : "APIG.9999",
"error_msg" : "System error"
}
Status Codes
|
Status Code |
Description |
|---|---|
|
201 |
Created |
|
400 |
Bad Request |
|
401 |
Unauthorized |
|
403 |
Forbidden |
|
404 |
Not Found |
|
500 |
Internal Server Error |
Error Codes
See Error Codes.
Feedback
Was this page helpful?
Provide feedbackThank you very much for your feedback. We will continue working to improve the documentation.See the reply and handling status in My Cloud VOC.
For any further questions, feel free to contact us through the chatbot.
Chatbot