Todos los productos
Search
Centro de documentos

Serverless App Engine:CreateApplicationScalingRule

Última actualización: Sep 01, 2026

Crea una política de autoescalado de aplicaciones.

Descripción de la operación

Notas de uso

  • Puede crear hasta cinco políticas de elasticidad por aplicación.

  • Para cada política de elasticidad programada, puede crear hasta 20 puntos de activación por día.

  • Mientras una política de elasticidad está habilitada, no realice operaciones manuales en la aplicación, como escalado, despliegue, cambio de especificaciones, reinicio o detención. Para realizar estas operaciones, primero deshabilite la política.

  • No puede agregar ni habilitar una política de elasticidad para una aplicación que esté en proceso de escalado horizontal, reducción de escala, despliegue (por lotes, por fases o canary), cambio de especificaciones, reinicio o detención.

  • Para escalar horizontalmente una aplicación a más de 50 instancias, póngase en contacto con el equipo de asistencia técnica de SAE para ser agregado a la lista blanca. Para obtener más información, consulte Contáctenos.

Pruébelo ahora

Pruebe esta API en OpenAPI Explorer sin necesidad de firma manual. Las llamadas exitosas generan automáticamente código SDK acorde a sus parámetros. Descárguelo con seguridad de credenciales integrada para uso local.

Test

Autorización de RAM

La siguiente tabla describe la autorización necesaria para invocar esta API. Puede definirla en una directiva de Resource Access Management (RAM). A continuación, se detallan las columnas de la tabla:

  • Action: Estas acciones se utilizan en el elemento Action de las declaraciones de directivas de permisos de RAM para otorgar permisos que permitan realizar la operación.

  • API: La API que debe invocarse para llevar a cabo la acción.

  • Nivel de acceso: Nivel de acceso predefinido que se concede para cada API. Valores válidos: create, list, get, update y delete.

  • Tipo de recurso: Tipo de recurso que admite autorización para ejecutar la acción. Indica si la acción es compatible con permisos a nivel de recurso. El recurso especificado debe ser compatible con la acción; de lo contrario, la directiva no surtirá efecto.

    • En las API con permisos a nivel de recurso, los tipos de recursos obligatorios se marcan con un asterisco (*). Especifique el Alibaba Cloud Resource Name (ARN) correspondiente en el elemento Resource de la directiva.

    • Para las API sin permisos a nivel de recurso, se muestra All Resources. Utilice un asterisco (*) en el elemento Resource de la directiva.

  • Clave de condición: Claves de condición definidas por el servicio. Permiten un control granular y se aplican ya sea solo a acciones o a acciones asociadas con recursos específicos. Además de las claves de condición específicas del servicio, Alibaba Cloud proporciona un conjunto de common condition keys aplicables a todos los servicios compatibles con RAM.

  • Acción dependiente: Acciones dependientes necesarias para ejecutar la acción principal. Para completar la operación, el usuario de RAM o el rol de RAM debe contar con permisos para realizar todas las acciones dependientes.

Action

Nivel de acceso

Tipo de recurso

Clave de condición

Acción dependiente

sae:CreateApplicationScalingRule

create

*All Resource

*

Ninguna Ninguna

Sintaxis de la solicitud

POST /pop/v1/sam/scale/applicationScalingRule HTTP/1.1

Parámetros de la solicitud

Parámetro

Tipo

Obligatorio

Descripción

Ejemplo

AppId

string

Sí

El ID de la aplicación.

7171a6ca-d1cd-4928-8642-7d5cfe69****

ScalingRuleName

string

Sí

El nombre de la política de autoescalado. El nombre debe ser único dentro de una aplicación, comenzar con una letra minúscula y contener solo letras minúsculas, dígitos y guiones (-). El nombre puede tener hasta 32 caracteres de longitud.

Nota

El nombre de la política no se puede cambiar después de su creación.

timer-0800-2100

ScalingRuleType

string

Sí

El tipo de política de autoescalado. Valores válidos:

  • timing: autoescalado programado.

  • metric: autoescalado basado en métricas.

  • mix: autoescalado mixto.

Nota
  • Si establece este parámetro en timing, el parámetro ScalingRuleTimer es obligatorio.

  • Si establece este parámetro en metric, el parámetro ScalingRuleMetric es obligatorio.

  • Si establece este parámetro en mix, el parámetro ScalingRuleMetric es obligatorio. También puede configurar el parámetro ScalingRuleTimer según sea necesario.

timing

ScalingRuleTimer

string

No

Configuraciones para la política de autoescalado programado. Este parámetro es obligatorio si ScalingRuleType se establece en timing o si utiliza un SDK.

El parámetro es una cadena JSON que contiene los siguientes campos:

  • beginDate y endDate: Las fechas de inicio y fin del período de vigencia de la política.

    • Si ambos campos se establecen en null (valor predeterminado), la política tiene vigencia indefinida.

    • Si especifica un rango de fechas, por ejemplo, beginDate es 2021-03-25 y endDate es 2021-04-25, la política tiene vigencia durante un mes.

  • period: La regla de recurrencia para la política de autoescalado programado.

    • * * *: La política se ejecuta a una hora especificada todos los días.

    • * * Fri,Mon: La política se ejecuta a una hora especificada en días específicos de la semana. Puede seleccionar varios días. La hora corresponde a la zona horaria GMT+8. Valores válidos:

      • Sun: Domingo

      • Mon: Lunes

      • Tue: Martes

      • Wed: Miércoles

      • Thu: Jueves

      • Fri: Viernes

      • Sat: Sábado

    • 1,2,3,28,31 * *: La política se ejecuta a una hora especificada en días específicos de un mes. Puede seleccionar varios días. El valor puede ser de 1 a 31. Si un mes no tiene el día especificado, por ejemplo, el día 31, la política no se ejecuta ese día en ese mes.

  • schedules: Los horarios de activación y el número objetivo de instancias correspondiente. Puede especificar un máximo de 20 programaciones. El parámetro incluye los siguientes campos:

    • atTime: La hora de activación en formato HH:mm. Por ejemplo, 08:00.

    • targetReplicas: El número objetivo de instancias de la aplicación. Valores válidos: de 1 a 50.

      Nota

      Durante un despliegue continuo, se recomienda establecer el número mínimo de instancias listas en 1 o más para evitar interrupciones del servicio. Si establece el número mínimo de instancias listas en 0, su aplicación se interrumpirá durante una actualización.

{"beginDate":null,"endDate":null,"period":"* * *","schedules":[{"atTime":"08:00","targetReplicas":10},{"atTime":"20:00","targetReplicas":3}]}

ScalingRuleMetric

string

No

Configuraciones para la política de autoescalado basado en métricas. Este parámetro es obligatorio si ScalingRuleType se establece en metric o mix.

El parámetro es una cadena JSON que contiene los siguientes campos:

  • maxReplicas: El número máximo de instancias de la aplicación.

  • minReplicas: El número mínimo de instancias de la aplicación.

  • metricType: La métrica que activa la política de autoescalado. Valores válidos:

    • CPU: Uso de CPU.

    • MEMORY: Uso de memoria.

    • QPS: El promedio de consultas por segundo (QPS) por instancia para una aplicación Java durante un período de 1 minuto.

    • RT: El tiempo de respuesta promedio (RT) de todas las interfaces de servicio para una aplicación Java durante un período de 1 minuto.

    • tcpActiveConn: El número promedio de conexiones TCP activas por instancia durante un período de 30 segundos.

    • SLB_QPS: El QPS promedio por instancia para una instancia SLB pública durante un período de 15 segundos.

    • SLB_RT: El RT promedio de una instancia SLB pública durante un período de 15 segundos.

    • INTRANET_SLB_QPS: El QPS promedio por instancia para una instancia SLB interna durante un período de 15 segundos.

    • INTRANET_SLB_RT: El RT promedio de una instancia SLB interna durante un período de 15 segundos.

  • metricTargetAverageUtilization: El valor objetivo para la métrica especificada por metricType. La unidad de este valor depende de metricType.

    • Uso de CPU objetivo, en porcentaje.

    • Uso de memoria objetivo, en porcentaje.

    • QPS objetivo, en solicitudes por segundo.

    • Tiempo de respuesta objetivo, en milisegundos.

    • Número promedio de conexiones TCP activas.

    • QPS objetivo de SLB público, en solicitudes por segundo.

    • Tiempo de respuesta objetivo de SLB público, en milisegundos.

    • QPS objetivo de SLB interno, en solicitudes por segundo.

    • Tiempo de respuesta objetivo de SLB interno, en milisegundos.

  • slbId: El ID de la instancia SLB.

  • slbProject: El proyecto de Log Service.

  • slbLogstore: El Logstore de Log Service.

  • vport: El puerto del listener de SLB. Se admiten los protocolos HTTP y HTTPS.

  • scaleUpRules: Las reglas para escalar horizontalmente la aplicación.

  • scaleDownRules: Las reglas para reducir la escala de la aplicación.

  • step: El tamaño del paso para escalar horizontalmente o reducir la escala. Es el número máximo de instancias que se pueden agregar o eliminar en una sola actividad de escalado.

  • disabled: Especifica si se debe impedir que la aplicación reduzca su escala. Si se establece en true, el número de instancias de la aplicación nunca se reduce. Esto puede prevenir riesgos comerciales causados por la reducción de escala durante las horas pico.

    • true: La reducción de escala está deshabilitada.

    • false: La reducción de escala está habilitada. Este es el valor predeterminado.

  • stabilizationWindowSeconds: El período de enfriamiento para escalar horizontalmente o reducir la escala, en segundos. Valores válidos: de 0 a 3600. El valor predeterminado es 0.

Nota

Puede configurar una o más métricas. Si configura varias métricas, la aplicación escala horizontalmente cuando cualquiera de las métricas alcanza o supera su valor objetivo, hasta el número máximo de instancias especificado. La aplicación reduce su escala solo cuando todas las métricas están por debajo de sus valores objetivo, hasta el número mínimo de instancias especificado.

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

No

El número mínimo de instancias listas. Valores válidos:

  • Si establece este parámetro en 0, la aplicación se interrumpe durante una actualización.

  • Si establece este parámetro en -1, el sistema establece el valor en el 25% del número actual de instancias, redondeado hacia arriba. Por ejemplo, si la aplicación tiene 5 instancias, el número mínimo de instancias listas es 2 (5 × 25% = 1.25, redondeado hacia arriba a 2).

Nota

Para garantizar la continuidad del servicio durante un despliegue continuo, se recomienda establecer el número mínimo de instancias listas en 1 o más.

3

MinReadyInstanceRatio

integer

No

El número mínimo de instancias listas, especificado como un porcentaje del número total de instancias. Valores válidos:

  • -1: Indica que no se utiliza un porcentaje. En este caso, se utiliza el valor de MinReadyInstances.

  • 0~100: Un porcentaje. El resultado se redondea hacia arriba. Por ejemplo, si establece este parámetro en 50 (%) y la aplicación tiene 5 instancias, el número mínimo de instancias listas es 3.

Nota

Si especifica tanto MinReadyInstances como un MinReadyInstanceRatio distinto de -1, MinReadyInstanceRatio tiene prioridad. Por ejemplo, si MinReadyInstances se establece en 5 y MinReadyInstanceRatio se establece en 50, el sistema usa 50 (%) para calcular el número mínimo de instancias listas.

-1

ScalingRuleEnable

boolean

No

Especifica si se debe habilitar la política de autoescalado. Valores válidos:

  • true: Habilitado.

  • false: Deshabilitado.

true

EnableIdle

boolean

No

Especifica si se debe habilitar el modo inactivo para la aplicación.

Elementos de la respuesta

Elemento

Tipo

Descripción

Ejemplo

object

El objeto de respuesta.

RequestId

string

El ID de la solicitud.

91F93257-7A4A-4BD3-9A7E-2F6EAE6D****

TraceId

string

El ID de rastreo. Puede usar este ID para consultar los detalles de una solicitud.

0a98a02315955564772843261e****

Data

object

Los datos devueltos.

Timer

object

Las configuraciones para la política de autoescalado programado.

EndDate

string

La fecha de finalización de la política de autoescalado programado.

  • Si tanto BeginDate como EndDate son null, la política es de largo plazo. Este es el valor predeterminado.

  • Por ejemplo, si establece BeginDate en 2021-03-25 y EndDate en 2021-04-25, la política está activa durante un mes.

2021-04-25

BeginDate

string

La fecha de inicio de la política de autoescalado programado.

  • Si tanto BeginDate como EndDate son null, la política es de largo plazo. Este es el valor predeterminado.

  • Por ejemplo, si establece BeginDate en 2021-03-25 y EndDate en 2021-04-25, la política está activa durante un mes.

2021-03-25

Schedules

array<object>

Los puntos de activación para la política de autoescalado programado.

object

La configuración para una sola activación dentro de la programación.

AtTime

string

La hora de activación. El formato es HH:mm.

08:00

TargetReplicas

integer

El número objetivo de instancias.

3

MaxReplicas

integer

El número máximo de instancias.

10

MinReplicas

integer

El número mínimo de instancias.

5

Period

string

El patrón de recurrencia para la política de autoescalado programado. Valores válidos:

  • * * *: La política se ejecuta a una hora especificada todos los días.

  • * * Fri,Mon: La política se ejecuta a una hora especificada en días específicos de la semana. Puede seleccionar varios días. La hora corresponde a la zona horaria GMT+8. Valores válidos:

    • Sun: Domingo

    • Mon: Lunes

    • Tue: Martes

    • Wed: Miércoles

    • Thu: Jueves

    • Fri: Viernes

    • Sat: Sábado

  • 1,2,3,28,31 * *: La política se ejecuta a una hora especificada en días específicos de un mes. Puede seleccionar varios días. El valor puede ser de 1 a 31. Si un día especificado no existe en un mes determinado (por ejemplo, el día 31), la política no se ejecuta ese día.

* * *

UpdateTime

integer

La hora en que se actualizó por última vez la política, en milisegundos.

1616642248938

AppId

string

El ID de la aplicación.

7171a6ca-d1cd-4928-8642-7d5cfe69****

CreateTime

integer

La hora en que se creó la política, en milisegundos.

1616642248938

LastDisableTime

integer

La hora en que se deshabilitó por última vez la política de autoescalado, en milisegundos.

1641882854484

ScaleRuleEnabled

boolean

Indica si la política de autoescalado está habilitada. Valores válidos:

  • true: La política está habilitada.

  • false: La política está deshabilitada.

true

ScaleRuleType

string

El tipo de política de autoescalado. Valores válidos:

  • timing: autoescalado programado.

  • metric: autoescalado basado en métricas.

  • mix: autoescalado mixto.

timing

Metric

object

Las configuraciones para la política de autoescalado basado en métricas.

Metrics

array<object>

Una matriz de objetos que definen las métricas para la política de autoescalado basado en métricas.

object

La configuración para una sola métrica.

MetricTargetAverageUtilization

integer

El valor objetivo para la métrica.

  • El uso de CPU objetivo, en porcentaje.

  • El uso de memoria objetivo, en porcentaje.

  • El QPS objetivo.

  • El tiempo de respuesta objetivo, en milisegundos.

  • El número promedio objetivo de conexiones TCP activas por segundo.

  • El QPS objetivo para una instancia SLB pública.

  • El tiempo de respuesta objetivo para una instancia SLB pública, en milisegundos.

  • El QPS objetivo para una instancia SLB interna.

  • El tiempo de respuesta objetivo para una instancia SLB interna, en milisegundos.

20

MetricType

string

El tipo de métrica que activa la política de autoescalado. Valores válidos:

  • CPU: Uso de CPU.

  • MEMORY: Uso de memoria.

  • QPS: El QPS promedio por instancia durante 1 minuto para una aplicación Java.

  • RT: El tiempo de respuesta promedio en todos los endpoints de servicio durante 1 minuto para una aplicación Java.

  • tcpActiveConn: El número promedio de conexiones TCP activas por instancia durante 30 segundos.

  • SLB_QPS: El QPS promedio por instancia para una instancia SLB pública, medido durante 15 segundos.

  • SLB_RT: El tiempo de respuesta promedio para una instancia SLB pública, medido durante 15 segundos.

  • INTRANET_SLB_QPS: El QPS promedio por instancia para una instancia SLB interna, medido durante 15 segundos.

  • INTRANET_SLB_RT: El tiempo de respuesta promedio para una instancia SLB interna, medido durante 15 segundos.

CPU

SlbProject

string

El proyecto de Log Service para registros de acceso de SLB.

test

SlbLogstore

string

El Logstore de Log Service para registros de acceso de SLB.

test

Vport

string

El puerto de la instancia SLB.

80

SlbId

string

El ID de la instancia SLB.

lb-xxx

MaxReplicas

integer

El número máximo de instancias.

3

MinReplicas

integer

El número mínimo de instancias.

1

ScaleRuleName

string

El nombre de la política de autoescalado.

test

EnableIdle

boolean

Indica si el modo inactivo está habilitado.

Message

string

El mensaje de respuesta. Valores válidos:

  • Devuelve success si la solicitud es exitosa.

  • Devuelve un mensaje de error si la solicitud falla.

success

ErrorCode

string

El código de error. Valores válidos:

  • Este parámetro no se devuelve si la solicitud es exitosa.

  • Se devuelve un código de error si la solicitud falla. Para obtener más información, consulte la sección Códigos de error en este tema.

Code

string

El código de estado HTTP. Valores válidos:

  • 2xx: La solicitud fue exitosa.

  • 3xx: La solicitud fue redirigida.

  • 4xx: Ocurrió un error del cliente.

  • 5xx: Ocurrió un error del servidor.

200

Success

boolean

Indica si la solicitud fue exitosa. Valores válidos:

  • true: La llamada a la API fue exitosa.

  • false: La llamada a la API falló.

true

Ejemplos

Respuesta exitosa

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,
          "MaxReplicas": 10,
          "MinReplicas": 5
        }
      ],
      "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 error

Código de estado HTTP

Código de error

Mensaje de error

Descripción

400 InstanceExist.ScalingRuleName The specified ScalingRuleName already exists. The specified ScalingRuleName already exists.
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.ScalingRule The maximum number of application scaling rules is exceeded. The maximum number of application scaling rules is exceeded.
400 QuotaExceeded.ScalingRuleTime The maximum number of scaling policy trigger time is exceeded. Scaling rule time quota exceeded.
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.Exceed Your compute resource is insufficient. Please contact us to raise the quota.
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 OperationDenied.SDKNotSupported Metrics is not supported in SDK
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.

Consulte Códigos de error para ver la lista completa.

Notas de la versión

Consulte Notas de la versión para ver la lista completa.