Atualiza a política de auto scaling da aplicação.
Descrição da operação
Notas de uso
Para escalar uma aplicação além de 50 instâncias, entre em contato com o suporte técnico do SAE para ser adicionado à lista de permissões. Para mais detalhes, consulte Fale conosco.
Experimente agora
Testar
Autorização RAM
|
Ação |
Nível de acesso |
Tipo de recurso |
Chave de condição |
Ação dependente |
|
sae:UpdateApplicationScalingRule |
update |
*Application
|
Nenhuma | Nenhuma |
Sintaxe da solicitação
PUT /pop/v1/sam/scale/applicationScalingRule HTTP/1.1
Parâmetros da solicitação
|
Parâmetro |
Tipo |
Obrigatório |
Descrição |
Exemplo |
| AppId |
string |
Sim |
O ID da aplicação. |
7171a6ca-d1cd-4928-8642-7d5cfe69**** |
| ScalingRuleName |
string |
Sim |
O nome da política de auto scaling. O nome deve começar com uma letra minúscula, conter apenas letras minúsculas, dígitos e hifens (-), e ter no máximo 32 caracteres. Nota
Você não pode alterar o nome de uma política de auto scaling após sua criação. |
timer-0800-2100 |
| ScalingRuleTimer |
string |
Não |
A configuração da política de escalabilidade agendada. Este parâmetro é obrigatório para políticas de escalabilidade agendadas. O parâmetro inclui os seguintes campos:
|
{"beginDate":null,"endDate":null,"period":"* * *","schedules":[{"atTime":"08:00","targetReplicas":10},{"atTime":"20:00","targetReplicas":3}]} |
| ScalingRuleMetric |
string |
Não |
A configuração da política de escalabilidade baseada em métricas. Este parâmetro é obrigatório para políticas de escalabilidade baseadas em métricas. O parâmetro inclui os seguintes campos:
Nota
Se você especificar várias métricas, um scale-out será acionado quando qualquer métrica atingir seu valor de destino. O número de instâncias não excederá maxReplicas. Um scale-in será acionado somente quando todas as métricas estiverem abaixo de seus valores de destino. O número de instâncias não ficará abaixo de minReplicas. |
{"maxReplicas":3,"minReplicas":1,"metrics":[{"metricType":"CPU","metricTargetAverageUtilization":20},{"metricType":"MEMORY","metricTargetAverageUtilization":30},{"metricType":"tcpActiveConn","metricTargetAverageUtilization":20},{"metricType":"SLB_QPS","MetricTargetAverageUtilization":25,"slbId":"lb-xxx","slbProject":"aliyun-fc-cn-hangzhou-d95881d9-5d3c-5f26-a6b8-************","slbLogstore":"function-log","vport":"80"},{"metricType":"SLB_RT","MetricTargetAverageUtilization":35,"slbId":"lb-xxx","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 |
Não |
O número mínimo de instâncias que devem permanecer disponíveis durante uma implantação contínua. Valores válidos:
Nota
Para garantir a continuidade dos negócios, recomendamos que você defina o número mínimo de instâncias sobreviventes para cada implantação contínua como 1 ou superior. |
3 |
| MinReadyInstanceRatio |
integer |
Não |
A porcentagem mínima de instâncias que devem permanecer disponíveis durante uma implantação contínua. Valores válidos:
Nota
Se você especificar tanto MinReadyInstances quanto MinReadyInstanceRatio, e MinReadyInstanceRatio não for -1, MinReadyInstanceRatio terá precedência. Por exemplo, se MinReadyInstances for definido como 5 e MinReadyInstanceRatio for definido como 50, o sistema usará 50% para calcular o número mínimo de instâncias sobreviventes. |
-1 |
| EnableIdle |
boolean |
Não |
Especifica se o modo ocioso deve ser ativado ou desativado. |
|
| ScalingRuleType |
string |
Não |
timing |
Elementos de resposta
|
Elemento |
Tipo |
Descrição |
Exemplo |
|
object |
As informações retornadas. |
||
| RequestId |
string |
O ID da solicitação. |
91F93257-7A4A-4BD3-9A7E-2F6EAE6D**** |
| TraceId |
string |
O ID de rastreamento usado para consultar detalhes da chamada. |
0a98a02315955564772843261e**** |
| Data |
object |
Os dados de resposta. |
|
| Timer |
object |
A configuração para escalabilidade agendada. |
|
| EndDate |
string |
The end date of the short-term scheduled scaling policy.
|
2021-04-25 |
| BeginDate |
string |
The start date of the short-term scheduled scaling policy.
|
2021-03-25 |
| Schedules |
array<object> |
The schedules for the scaling policy. |
|
|
object |
The configuration for a specific trigger schedule. |
||
| AtTime |
string |
The time at which the scaling action is triggered. Format: HH:mm. |
08:00 |
| TargetReplicas |
integer |
The target number of instances. |
3 |
| MinReplicas |
integer |
The minimum number of instances. |
1 |
| MaxReplicas |
integer |
The maximum number of instances. |
10 |
| Period |
string |
The recurrence schedule for the scaling policy.
|
* * * |
| UpdateTime |
integer |
O horário em que a política de escalabilidade foi atualizada, em milissegundos. |
1616642248938 |
| AppId |
string |
O ID da aplicação. |
7171a6ca-d1cd-4928-8642-7d5cfe69**** |
| CreateTime |
integer |
O horário em que a política de escalabilidade foi criada, em milissegundos. |
1616642248938 |
| LastDisableTime |
integer |
O horário em que a política de escalabilidade foi desativada pela última vez, em milissegundos. |
1641882854484 |
| ScaleRuleEnabled |
boolean |
Especifica se a política de escalabilidade está ativada. Valores válidos:
|
true |
| ScaleRuleType |
string |
O tipo da política de escalabilidade. Valores válidos:
|
timing |
| Metric |
object |
A configuração para escalabilidade baseada em métricas. |
|
| Metrics |
array<object> |
The metrics that trigger scaling actions. |
|
|
object |
The configuration for a specific metric trigger. |
||
| MetricTargetAverageUtilization |
integer |
The target value for the specified metric. The unit varies based on the metric type.
|
20 |
| MetricType |
string |
The metric that triggers the scaling policy. Valid values:
|
CPU |
| SlbProject |
string |
The name of the Log Service Project for SLB access logs. |
test |
| SlbLogstore |
string |
The name of the Logstore for SLB access logs. |
test |
| Vport |
string |
The SLB port. |
80 |
| SlbId |
string |
The SLB instance ID. |
lb-xxx |
| MaxReplicas |
integer |
The maximum number of instances. |
3 |
| MinReplicas |
integer |
The minimum number of instances. |
1 |
| ScaleRuleName |
string |
O nome da política de escalabilidade. |
test |
| EnableIdle |
boolean |
Especifica se o modo ocioso deve ser ativado. |
|
| Message |
string |
A mensagem de resposta.
|
success |
| ErrorCode |
string |
O código de erro.
|
|
| Code |
string |
O código de status HTTP ou um código de erro POP.
|
200 |
| Success |
boolean |
Especifica se a solicitação foi bem-sucedida. Valores válidos:
|
true |
Exemplos
Resposta de sucesso
JSON formato
{
"RequestId": "91F93257-7A4A-4BD3-9A7E-2F6EAE6D****",
"TraceId": "0a98a02315955564772843261e****",
"Data": {
"Timer": {
"EndDate": "2021-04-25",
"BeginDate": "2021-03-25",
"Schedules": [
{
"AtTime": "08:00",
"TargetReplicas": 3,
"MinReplicas": 1,
"MaxReplicas": 10
}
],
"Period": "* * *"
},
"UpdateTime": 1616642248938,
"AppId": "7171a6ca-d1cd-4928-8642-7d5cfe69****",
"CreateTime": 1616642248938,
"LastDisableTime": 1641882854484,
"ScaleRuleEnabled": true,
"ScaleRuleType": "timing",
"Metric": {
"Metrics": [
{
"MetricTargetAverageUtilization": 20,
"MetricType": "CPU",
"SlbProject": "test",
"SlbLogstore": "test",
"Vport": "80",
"SlbId": "lb-xxx"
}
],
"MaxReplicas": 3,
"MinReplicas": 1
},
"ScaleRuleName": "test",
"EnableIdle": false
},
"Message": "success",
"ErrorCode": "",
"Code": "200",
"Success": true
}
Códigos de erro
|
Código de status HTTP |
Código de erro |
Mensagem de erro |
Descrição |
|---|---|---|---|
| 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. |
Consulte Códigos de Erro para uma lista completa.
Notas de versão
Consulte Notas de Versão para uma lista completa.