Updates the auto scaling policy of an application.
Operation description
If you want to configure more than 50 instances for an application, you must submit a ticket to add your account to the whitelist.
Debugging
Authorization information
The following table shows the authorization information corresponding to the API. The authorization information can be used in the Action
policy element to grant a RAM user or RAM role the permissions to call this API operation. Description:
- Operation: the value that you can use in the Action element to specify the operation on a resource.
- Access level: the access level of each operation. The levels are read, write, and list.
- Resource type: the type of the resource on which you can authorize the RAM user or the RAM role to perform the operation. Take note of the following items:
- The required resource types are displayed in bold characters.
- If the permissions cannot be granted at the resource level,
All Resources
is used in the Resource type column of the operation.
- Condition Key: the condition key that is defined by the cloud service.
- Associated operation: other operations that the RAM user or the RAM role must have permissions to perform to complete the operation. To complete the operation, the RAM user or the RAM role must have the permissions to perform the associated operations.
Operation | Access level | Resource type | Condition key | Associated operation |
---|---|---|---|---|
sae:UpdateApplicationScalingRule | update | *Application acs:sae:{#regionId}:{#accountId}:application/{#namespaceid}/{#appid} |
| none |
Request syntax
PUT /pop/v1/sam/scale/applicationScalingRule HTTP/1.1
Request parameters
Parameter | Type | Required | Description | Example |
---|---|---|---|---|
AppId | string | Yes | The application ID. | 7171a6ca-d1cd-4928-8642-7d5cfe69**** |
ScalingRuleName | string | Yes | The name of the auto scaling policy. The name must start with a lowercase letter and can contain only lowercase letters, digits, and hyphens (-). The name cannot exceed 32 characters in length. Note
You cannot change the names of created policies.
| timer-0800-2100 |
ScalingRuleTimer | string | No | The configurations of the scheduled auto scaling policy. This parameter is required when you set the ScalingRuleType parameter to timing or when you want to create a scheduled auto scaling policy by using an SDK. Parameter description:
| {"beginDate":null,"endDate":null,"period":"* * *","schedules":[{"atTime":"08:00","targetReplicas":10},{"atTime":"20:00","targetReplicas":3}]} |
ScalingRuleMetric | string | No | The configurations of the metric-based auto scaling policy. This parameter is required if you set the ScalingRuleType parameter to metric. Parameter description:
Note
You can specify one or more metrics as the trigger conditions of the auto scaling policy. If you specify multiple metrics, the application is scaled out when the value of a metric is greater than or equal to the limit. The number of application instances after the scale-out cannot exceed the configured maximum number of application instances. If the values of all the metrics are less than the limits, the application is scaled in. The number of instances after the scale-in cannot be less than the configured minimum number of application instances.
| {"maxReplicas":3,"minReplicas":1,"metrics":[{"metricType":"CPU","metricTargetAverageUtilization":20},{"metricType":"MEMORY","metricTargetAverageUtilization":30},{"metricType":"tcpActiveConn","metricTargetAverageUtilization":20},{"metricType":"SLB_QPS","MetricTargetAverageUtilization":25,"SlbProject":"aliyun-fc-cn-hangzhou-d95881d9-5d3c-5f26-a6b8-************","SlbLogstore":"function-log","Vport":"80"},{"metricType":"SLB_RT","MetricTargetAverageUtilization":35,"SlbProject":"aliyun-fc-cn-hangzhou-d95881d9-5d3c-5f26-a6b8-************","SlbLogstore":"function-log","Vport":"80"}],"scaleUpRules":{"step":"100","disabled":false,"stabilizationWindowSeconds":0},"scaleDownRules":{"step":"100","disabled":false,"stabilizationWindowSeconds":300}} |
MinReadyInstances | integer | No | The minimum number of available instances. Take note of the following rules:
Note
Make sure that at least one instance is available during application deployment and rollback to prevent business interruptions.
| 3 |
MinReadyInstanceRatio | integer | No | The percentage of the minimum number of available instances. Take note of the following rules:
Note
When MinReadyInstance and MinReadyInstanceRatio are specified and MinReadyInstanceRatio is set to a number from 0 to 100, the value of **MinReadyInstanceRatio** takes precedence.**** For example, if MinReadyInstances is set to **5**, and MinReadyInstanceRatio is set to 50, the minimum number of available instances is set to the nearest integer rounded up from the calculated result of the following formula: Current number of instances × 50%.
| -1 |
Response parameters
Examples
Sample success responses
JSON
format
{
"RequestId": "91F93257-7A4A-4BD3-9A7E-2F6EAE6D****",
"TraceId": "0a98a02315955564772843261e****",
"Data": {
"Timer": {
"EndDate": "2021-04-25",
"BeginDate": "2021-03-25",
"Schedules": [
{
"AtTime": "08:00",
"TargetReplicas": 3
}
],
"Period": "* * *"
},
"UpdateTime": 1616642248938,
"AppId": "7171a6ca-d1cd-4928-8642-7d5cfe69****",
"CreateTime": 1616642248938,
"LastDisableTime": 1641882854484,
"ScaleRuleEnabled": true,
"ScaleRuleType": "timing",
"Metric": {
"Metrics": [
{
"MetricTargetAverageUtilization": 20,
"MetricType": "CPU"
}
],
"MaxReplicas": 3,
"MinReplicas": 1
},
"ScaleRuleName": "test"
},
"Message": "success",
"ErrorCode": "Null\n",
"Code": "200",
"Success": true
}
Error codes
HTTP status code | Error code | Error message | Description |
---|---|---|---|
400 | InvalidScalingRuleDate.BeginAfterEnd | The specified beginning time is later than the ending time. | The specified begin date is later than the end date. |
400 | InvalidScalingRuleDate.Format | The specified date is invalid. | The specified date is invalid. The correct format is yyyy-MM-dd . |
400 | InvalidScalingRuleName.NotFound | The specified ScalingRuleName does not exist. | The specified ScalingRuleName does not exist. |
400 | InvalidScalingRuleTime.Conflict | The specified scaling rule time is invalid. Another schedule has been set for the specified time range. Please set a different time. | The specified scaling rule time is invalid. Another schedule has been set for the specified time range. Please set a different time. |
400 | InvalidScalingRuleTime.Format | The specified time is invalid. | The specified time is invalid. The correct format is HH:mm . |
400 | QuotaExceeded.ScalingRuleTime | The maximum number of scaling policy trigger time is exceeded. | Scaling rule time quota exceeded. |
400 | NoComputeResourceQuota.Exceed | Your compute resource is insufficient. Please contact us to raise the quota. | - |
400 | NoComputeResourceQuota.App.Exceed | You can create %s instances for each application. Please submit a ticket to raise the quota. | You can create %s instances for each application. please join the DingTalk group 32874633 for technical support. |
400 | NoComputeResourceQuota.User.Exceed | Your account is limited to create %s instances. Please submit a ticket to raise the quota. | Your account is limited to create %s instances. please join the DingTalk group 32874633 for technical support. |
400 | System.Upgrading | The system is being upgraded. Please try again later. | - |
400 | MinReadyInstances.Not.Smaller.Replicas | The minimum number of available instances must be less than the number of application instances. | The minimum number of available instances must be less than the number of application instances. |
400 | MinReadyInstanceRatio.Invalid | The ratio of minimum available instances must be between 0 and 100. | - |
400 | Application.ChangerOrderRunning | An application change process is in progress. Please try again later. | An application change process is in progress. Please try again later. |
For a list of error codes, visit the Service error codes.
Change history
Change time | Summary of changes | Operation |
---|---|---|
2024-08-30 | The Error code has changed. The request parameters of the API has changed. The response structure of the API has changed | View Change Details |
2023-05-24 | The Error code has changed. The response structure of the API has changed | View Change Details |
2022-12-19 | The Error code has changed. The response structure of the API has changed | View Change Details |
2022-11-09 | The Error code has changed | View Change Details |