Todos os produtos
Search
Central de documentação

Serverless App Engine:UpdateApplicationScalingRule

Última atualização: Jun 28, 2026

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

Experimente esta API no OpenAPI Explorer, sem necessidade de assinatura manual. Chamadas bem-sucedidas geram automaticamente código SDK correspondente aos seus parâmetros. Faça o download com segurança de credenciais integrada para uso local.

Testar

Autorização RAM

A tabela abaixo descreve a autorização necessária para chamar esta API. Você pode defini-la em uma política do Resource Access Management (RAM). As colunas da tabela estão detalhadas abaixo:

  • Ação: As ações que podem ser usadas no elemento Action das instruções de política de permissão do RAM para conceder permissões para executar a operação.

  • API: A API que você pode chamar para executar a ação.

  • Nível de acesso: O nível de acesso predefinido concedido para cada API. Valores válidos: create, list, get, update e delete.

  • Tipo de recurso: O tipo de recurso que suporta autorização para executar a ação. Indica se a ação suporta permissão em nível de recurso. O recurso especificado deve ser compatível com a ação. Caso contrário, a política será ineficaz.

    • Para APIs com permissões em nível de recurso, os tipos de recursos obrigatórios são marcados com um asterisco (*). Especifique o Nome de Recurso Alibaba Cloud (ARN) correspondente no elemento Resource da política.

    • Para APIs sem permissões em nível de recurso, é exibido como Todos os Recursos. Use um asterisco (*) no elemento Resource da política.

  • Chave de condição: As chaves de condição definidas pelo serviço. A chave permite controle granular, aplicando-se somente a ações ou a ações associadas a recursos específicos. Além das chaves de condição específicas do serviço, o Alibaba Cloud fornece um conjunto de chaves de condição comuns aplicáveis a todos os serviços compatíveis com RAM.

  • Ação dependente: As ações dependentes necessárias para executar a ação. Para concluir a ação, o usuário RAM ou a função RAM deve ter permissões para executar todas as ações dependentes.

Ação

Nível de acesso

Tipo de recurso

Chave de condição

Ação dependente

sae:UpdateApplicationScalingRule

update

*Application

acs:sae:{#regionId}:{#accountId}:application/{#namespaceid}/{#appid}

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 e endDate: As datas de início e término do período de vigência da política.

    • Se ambos os parâmetros forem definidos como null, a política estará sempre ativa. Este é o padrão.

    • Se você definir beginDate como 2021-03-25 e endDate como 2021-04-25, a política será efetiva por um mês.

  • period: O cronograma de execução da política. Valores válidos:

    • * * *: Executa a política em um horário especificado todos os dias.

    • * * Fri,Mon: Executa a política em um horário especificado em dias específicos da semana. Você pode selecionar vários dias. O horário está no fuso horário UTC+8. Valores válidos:

      • Sun: Domingo

      • Mon: Segunda-feira

      • Tue: Terça-feira

      • Wed: Quarta-feira

      • Thu: Quinta-feira

      • Fri: Sexta-feira

      • Sat: Sábado

    • 1,2,3,28,31 * *: Executa a política em um horário especificado em dias específicos do mês. O valor varia de 1 a 31. Se um dia especificado não existir em um determinado mês (por exemplo, o dia 31), a política o ignora.

  • schedules: Os horários de disparo e o número correspondente de instâncias de destino. Você pode especificar até 20 horários. Este campo inclui os seguintes parâmetros:

    • atTime: O horário de disparo. O formato é HH:mm, por exemplo, 08:00.

    • targetReplicas: O número de instâncias de destino da aplicação. O valor varia de 1 a 50.

      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. Se você definir este parâmetro como 0, sua aplicação será interrompida durante uma atualização.

{"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:

  • maxReplicas: O número máximo de instâncias da aplicação.

  • minReplicas: O número mínimo de instâncias da aplicação.

  • metricType: A métrica que aciona a política. Valores válidos:

    • CPU: O uso de CPU.

    • MEMORY: O uso de memória.

    • QPS: O QPS médio de uma única instância de uma aplicação Java em um período de 1 minuto.

    • RT: O RT médio de todas as interfaces de serviço de uma aplicação Java em um período de 1 minuto.

    • tcpActiveConn: O número médio de conexões TCP ativas por instância em um período de 30 segundos.

    • SLB_QPS: O QPS médio de um SLB voltado para a internet, medido por instância em um período de 15 segundos.

    • SLB_RT: O RT médio de um SLB voltado para a internet em um período de 15 segundos.

    • INTRANET_SLB_QPS: O QPS médio de um SLB interno, medido por instância em um período de 15 segundos.

    • INTRANET_SLB_RT: O RT médio de um SLB interno em um período de 15 segundos.

  • metricTargetAverageUtilization: O valor de destino para o metricType especificado.

    • Uso de CPU de destino, em porcentagem.

    • Uso de memória de destino, em porcentagem.

    • QPS de destino.

    • RT de destino, em milissegundos.

    • Número médio de conexões TCP ativas, em conexões/segundo.

    • QPS de destino do SLB voltado para a internet.

    • RT de destino do SLB voltado para a internet, em milissegundos.

    • QPS de destino do SLB interno.

    • RT de destino do SLB interno, em milissegundos.

  • slbId: O ID do SLB.

  • slbProject: O projeto do Simple Log Service.

  • slbLogstore: O Logstore do Simple Log Service.

  • vport: A porta de escuta do SLB. HTTP e HTTPS são suportados.

  • scaleUpRules: As regras de scale-out.

  • scaleDownRules: As regras de scale-in.

  • step: O tamanho do passo para uma ação de scale-out ou scale-in. Define o número máximo de instâncias que podem ser adicionadas ou removidas por vez.

  • disabled: Especifica se o scale-in deve ser desativado. Desativar o scale-in impede que a aplicação reduza a escala, o que pode mitigar riscos durante picos de tráfego.

    • true: Desativa o scale-in.

    • false: Ativa o scale-in. Este é o valor padrão.

  • stabilizationWindowSeconds: O tempo de resfriamento, em segundos, para uma ação de escalabilidade. O valor deve ser um inteiro de 0 a 3.600. O padrão é 0.

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:

  • Se você definir este parâmetro como 0, sua aplicação sofrerá interrupções de serviço durante uma implantação contínua.

  • Se você definir este parâmetro como -1, o sistema usará um valor recomendado, que é 25% do número atual de instâncias. Por exemplo, se você tiver 5 instâncias, o número mínimo de instâncias sobreviventes será 2 (5 × 25% = 1,25, arredondado para cima).

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:

  • -1: Um valor inicial que indica que uma porcentagem não é utilizada.

  • 0 a 100: Uma porcentagem que é arredondada para cima. Por exemplo, se você tiver 5 instâncias e definir este parâmetro como 50, o número mínimo de instâncias sobreviventes será 3.

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.

  • If BeginDate and EndDate are both set to null, the policy is long-term by default.

  • If you specify a date range, for example, BeginDate is set to 2021-03-25 and EndDate is set to 2021-04-25, the policy is effective for one month.

2021-04-25

BeginDate

string

The start date of the short-term scheduled scaling policy.

  • If BeginDate and EndDate are both set to null, the policy is long-term by default.

  • If you specify a date range, for example, BeginDate is set to 2021-03-25 and EndDate is set to 2021-04-25, the policy is effective for one month.

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.

  • * * *: The policy runs at a specified time every day.

  • * * Fri,Mon: The policy runs at a specified time on specific days of a week. You can select multiple days. The time is in the GMT+8 time zone. Valid values:

    • Sun: Sunday

    • Mon: Monday

    • Tue: Tuesday

    • Wed: Wednesday

    • Thu: Thursday

    • Fri: Friday

    • Sat: Saturday

  • 1,2,3,28,31 * *: The policy runs at a specified time on specific days of a month. You can select multiple days. If a month does not have a specific day, such as the 31st, the policy skips that day.

* * *

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: Ativada.

  • false: Desativada.

true

ScaleRuleType

string

O tipo da política de escalabilidade. Valores válidos:

  • timing: escalabilidade agendada

  • metric: escalabilidade baseada em métricas

  • mix: escalabilidade híbrida

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.

  • Target CPU utilization, in percentage.

  • Target memory usage, in percentage.

  • Target queries per second (QPS).

  • Target response time, in milliseconds.

  • The target number of active TCP connections.

  • Target QPS for the public-facing SLB instance.

  • Target response time of the public-facing SLB instance, in milliseconds.

  • Target QPS for the internal SLB instance.

  • Target response time of the internal SLB instance, in milliseconds.

20

MetricType

string

The metric that triggers the scaling policy. Valid values:

  • CPU: CPU utilization.

  • MEMORY: memory usage.

  • QPS: The average queries per second (QPS) per instance over the last minute. This applies only to Java applications.

  • RT: The average response time (RT) of all service interfaces in the application over the last minute. This applies only to Java applications.

  • tcpActiveConn: The average number of active TCP connections per instance over the last 30 seconds.

  • SLB_QPS: The average QPS from the public-facing SLB, per instance, over the last 15 seconds.

  • SLB_RT: The average response time of a public-facing SLB instance over the last 15 seconds.

  • INTRANET_SLB_QPS: The average QPS from the internal SLB, per instance, over the last 15 seconds.

  • INTRANET_SLB_RT: The average response time of an internal SLB instance over the last 15 seconds.

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 é retornado se a solicitação for bem-sucedida.

  • Uma mensagem de erro é retornada se a solicitação falhar.

success

ErrorCode

string

O código de erro.

  • Este parâmetro é retornado apenas se a solicitação falhar.

  • Para mais informações, consulte a seção Códigos de erro neste tópico.

Code

string

O código de status HTTP ou um código de erro POP.

  • 2xx: A solicitação foi bem-sucedida.

  • 3xx: A solicitação foi redirecionada.

  • 4xx: Ocorreu um erro no lado do cliente.

  • 5xx: Ocorreu um erro no lado do servidor.

200

Success

boolean

Especifica se a solicitação foi bem-sucedida. Valores válidos:

  • true: A solicitação foi bem-sucedida.

  • false: A solicitação falhou.

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.