全部產品
Search
文件中心

Serverless App Engine:CreateApplicationScalingRule - 建立應用Auto Scaling策略

更新時間:Apr 21, 2026

建立應用Auto Scaling策略。

介面說明

使用須知

  • 您最多可以為 1 個應用建立 5 條彈性策略。

  • 您最多可以為 1 條定時彈性策略,建立 20 條單天內觸發時間點。

  • 彈性策略啟用時,請勿手動執行應用生命週期管理操作,例如應用擴縮容、部署應用、更改規格、重啟應用或停止應用。如果您需要對應用執行該類操作,請停用彈性策略後,再手動執行操作。

  • 如果當前應用處於擴容、縮容、部署(單批、分批或灰階)、更改規格、重啟或停止等過程中,該應用暫時無法添加或者啟動彈性策略。

  • 如果單個應用需要彈出超過 50 個執行個體,請聯絡 SAE 支援人員並申請白名單。更多資訊,請參見聯絡我們

調試

您可以在OpenAPI Explorer中直接運行該介面,免去您計算簽名的困擾。運行成功後,OpenAPI Explorer可以自動產生SDK程式碼範例。

調試

授權資訊

下表是API對應的授權資訊,可以在RAM權限原則語句的Action元素中使用,用來給RAM使用者或RAM角色授予調用此API的許可權。具體說明如下:

  • 操作:是指具體的許可權點。

  • 存取層級:是指每個操作的存取層級,取值為寫入(Write)、讀取(Read)或列出(List)。

  • 資源類型:是指操作中支援授權的資源類型。具體說明如下:

    • 對於必選的資源類型,用前面加 * 表示。

    • 對於不支援資源級授權的操作,用全部資源表示。

  • 條件關鍵字:是指雲產品自身定義的條件關鍵字。

  • 關聯操作:是指成功執行操作所需要的其他許可權。操作者必須同時具備關聯操作的許可權,操作才能成功。

操作

存取層級

資源類型

條件關鍵字

關聯操作

sae:CreateApplicationScalingRule

create

*全部資源

*

請求文法

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

請求參數

名稱

類型

必填

描述

樣本值

AppId

string

應用 ID。

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

ScalingRuleName

string

自訂的Auto Scaling策略名稱。應用內,策略名稱稱不可重複,必須以小寫字母開頭,僅可包含小寫字母、數字及短劃線(-),不超過 32 個字元。

說明

Auto Scaling策略建立成功後,不可修改策略名稱。

timer-0800-2100

ScalingRuleType

string

Auto Scaling策略類型。取值說明如下:

  • timing:定時彈性。

  • metric:監控指標彈性。

  • mix:混合彈性。

說明
  • 如果選擇定時彈性,ScalingRuleTimer 欄位為必填項。

  • 如果選擇監控指標彈性,ScalingRuleMetric 欄位為必填項。

  • 如果選擇混合彈性,ScalingRuleMetric 欄位為必填項,ScalingRuleTimer 欄位和 ScalingRuleMetric 欄位也可以按需同時填寫。

timing

ScalingRuleTimer

string

定時彈性策略的配置。當您選擇定時彈性策略或使用 SDK 設定時,該參數必選。

參數說明如下:

  • beginDateendDatebeginDate 為起始日期,endDate 為結束日期,用於配置定時Auto Scaling策略的時間。取值說明如下:

    • 當取值均為 null 時,表示長期執行,為預設值。

    • 當取值為具體日期時,例如 beginDate2021-03-25endDate2021-04-25,表示執行有效期間為 1 個月。

  • period:執行定時Auto Scaling策略的周期。取值說明如下:

    • * * *:每天指定時間執行定時策略。

    • * * Fri,Mon:每周指定天數的指定時間執行定時策略,支援多選,GMT+8 時區。取值說明如下:
      • Sun:星期日

      • Mon:星期一

      • Tue:星期二

      • Wed:星期三

      • Thu:星期四

      • Fri:星期五

      • Sat:星期六

    • 1,2,3,28,31 * *:每月指定日期的指定時間執行定時策略,支援多選。取值範圍[1,31]。若當月無 31 日,則跳過該日期執行定時策略。

  • schedules:Auto Scaling策略觸發的時間,以及該時間段內需要保持的應用執行個體數。最多支援 20 個時間點。參數說明如下:

    • atTime:觸發時間點。支援格式時:分,例如08:00

    • targetReplicas:該參數可以指定應用的執行個體數,也可以是每次部署最小存活的執行個體數。取值範圍[1,50]。
      說明

      每次滾動部署最小存活的執行個體數建議大於等於 1,保證業務不中斷。如果設定為 0,應用在升級過程中將會中斷業務。

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

ScalingRuleMetric

string

監控指標彈性策略的配置。當您選擇監控指標彈性原則設定時,該參數必選。

參數說明如下:

  • maxReplicas:應用最大執行個體數。

  • minReplicas:應用最小執行個體數。

  • metricType:監控指標觸發條件。
    • CPU:CPU 使用率。

    • MEMORY:記憶體使用量率。

    • QPS:JAVA 應用 1 分鐘內單個執行個體的平均 QPS。

    • RT:JAVA 應用 1 分鐘內應用所有服務介面平均 RT 值。

    • tcpActiveConn:30 秒內單個執行個體的平均 TCP 活躍串連數。

    • SLB_QPS:15 秒內單個執行個體的平均公網 SLB QPS。

    • SLB_RT:15 秒內公網 SLB 平均回應時間。

    • INTRANET_SLB_QPS:15 秒內單個執行個體的平均私網 SLB QPS。

    • INTRANET_SLB_RT:15 秒內私網 SLB 平均回應時間。

  • metricTargetAverageUtilization:根據不同的 metricType,設定對應的監控指標的目標值。
    • CPU 使用率目標值,單位為百分比。

    • 記憶體使用量率目標值,單位為百分比。

    • QPS,單位為秒。

    • 回應時間,單位為毫秒。

    • TCP 活躍串連數平均值,單位為個/秒。

    • 公網 SLB QPS,單位為秒。

    • 公網 SLB 回應時間,單位為毫秒。

    • 私網 SLB QPS,單位為秒。

    • 私網 SLB 回應時間,單位為毫秒。

  • slbId:SLB ID。

  • slbProject:Log Service Project。

  • slbLogstore:Log Service Logstore。

  • vport:SLB 監聽連接埠,支援 HTTP 協議和 HTTPS 協議。

  • scaleUpRules:應用擴容規則。

  • scaleDownRules:應用縮容規則。

  • step:彈性擴容或縮容步長。單位時間內最多擴容或縮容的執行個體數。

  • disabled:是否禁止縮容。開啟後將永遠不會縮容該應用的執行個體,能有效防止在流量高峰期縮容造成業務風險。
    • true:開啟。

    • false:關閉。預設值。

  • stabilizationWindowSeconds:擴容或縮容的冷卻時間。取值範圍[0, 3600],單位為秒。預設為 0 秒。

說明

您可以選擇設定一個或多個監控指標。當設定多個監控指標時,只要任何一個指標大於或者等於目標值,則應用進行擴容,擴容後執行個體數不高於應用最大執行個體數;如果所有指標均小於目標值,則應用進行縮容,縮容後執行個體數不低於應用最小執行個體數。

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

最小存活執行個體數。取值說明如下:

  • 如果設定為 0,應用在升級過程中將會中斷業務。

  • 如果設定為**-1**,最小存活執行個體數將使用系統推薦值,即取現有執行個體數的 25%。如果當前為 5 個執行個體,5×25%=1.25,向上取整後,最小存活執行個體數為 2。

說明

每次滾動部署最小存活的執行個體數建議≥1,保證業務不中斷。

3

MinReadyInstanceRatio

integer

最小存活執行個體數百分比。取值說明如下:

  • -1:初始化值,表示不採用百分比。

  • 0~100:單位為百分比,向上取整。例如設定為 50%,如果當前為 5 個執行個體,則最小存活執行個體數為 3。

說明

MinReadyInstanceMinReadyInstanceRatio 同時傳遞時,且 MinReadyInstanceRatio 的取值非**-1**時,以 MinReadyInstanceRatio 參數為準。假設 MinReadyInstances 取值為 5MinReadyInstanceRatio 取值為 50,則會用 50 來計算最小存活執行個體數。

-1

ScalingRuleEnable

boolean

是否啟用Auto Scaling策略。取值說明如下:

  • true:啟用狀態。

  • false:禁用狀態。

true

EnableIdle

boolean

是否開啟閑置。

返回參數

名稱

類型

描述

樣本值

object

返回資訊。

RequestId

string

請求 ID。

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

TraceId

string

調用鏈 ID,用於精確查詢調用資訊。

0a98a02315955564772843261e****

Data

object

返回結果。

Timer

object

定時Auto Scaling。

EndDate

string

定時Auto Scaling策略的短期結束日期。

  • BeginDateEndDate 取值均為 null 時,表示長期執行,為預設值。

  • 當取值為具體日期時,例如 BeginDate 為 2021-03-25,EndDate 為 2021-04-25,表示執行有效期間為 1 個月。

2021-04-25

BeginDate

string

定時Auto Scaling策略的短期起始日期。

  • BeginDateEndDate 取值均為 null 時,表示長期執行,為預設值。

  • 當取值為具體日期時,例如 BeginDate 為 2021-03-25,EndDate 為 2021-04-25,表示執行有效期間為 1 個月。

2021-03-25

Schedules

array<object>

單天內觸發時間點。

object

時間點資料。

AtTime

string

時間點。格式:時:分

08:00

TargetReplicas

integer

目標執行個體數。

3

MaxReplicas

integer

最大執行個體數。

10

MinReplicas

integer

最小執行個體數。

5

Period

string

執行定時Auto Scaling策略的周期。取值說明如下:

  • * * *:每天指定時間執行定時策略。

  • * * Fri,Mon:每周指定天數的指定時間執行定時策略,支援多選,GMT+8 時區。取值說明如下:

    • Sun:星期日

    • Mon:星期一

    • Tue:星期二

    • Wed:星期三

    • Thu:星期四

    • Fri:星期五

    • Sat:星期六

  • 1,2,3,28,31 * *:每月指定日期的指定時間執行定時策略,支援多選。取值範圍[1,31]。若當月無 31 日,則跳過該日期執行定時策略。

* * *

UpdateTime

integer

Auto Scaling策略的更新時間。單位:毫秒。

1616642248938

AppId

string

應用 ID。

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

CreateTime

integer

Auto Scaling策略的建立時間。單位:毫秒。

1616642248938

LastDisableTime

integer

最近一次禁用Auto Scaling策略的時間。

1641882854484

ScaleRuleEnabled

boolean

是否啟用Auto Scaling策略。取值說明如下:

  • true:啟用狀態。

  • false:禁用狀態。

true

ScaleRuleType

string

Auto Scaling策略類型。取值說明如下:

  • timing:定時彈性。

  • metric:監控指標彈性。

  • mix:混合彈性。

timing

Metric

object

監控指標Auto Scaling。

Metrics

array<object>

監控指標Auto Scaling列表。

object

監控指標資料。

MetricTargetAverageUtilization

integer

監控指標的目標值。

  • CPU 使用率目標值,單位為百分比。

  • 記憶體使用量率目標值,單位為百分比。

  • QPS,單位為秒。

  • 回應時間,單位為毫秒。

  • TCP 活躍串連數平均值,單位為個/秒。

  • 公網 SLB QPS,單位為秒。

  • 公網 SLB 回應時間,單位為毫秒。

  • 私網 SLB QPS,單位為秒。

  • 私網 SLB 回應時間,單位為毫秒。

20

MetricType

string

監控指標觸發條件。取值說明如下:

  • CPU:CPU 使用率。

  • MEMORY:記憶體使用量率。

  • QPS:JAVA 應用 1 分鐘內單個執行個體的平均 QPS。

  • RT:JAVA 應用 1 分鐘內應用所有服務介面平均 RT 值。

  • tcpActiveConn:30 秒內單個執行個體的平均 TCP 活躍串連數。

  • SLB_QPS:15 秒內單個執行個體的平均公網 SLB QPS。

  • SLB_RT:15 秒內公網 SLB 平均回應時間。

  • INTRANET_SLB_QPS:15 秒內單個執行個體的平均私網 SLB QPS。

  • INTRANET_SLB_RT:15 秒內私網 SLB 平均回應時間。

CPU

SlbProject

string

SLB 訪問日誌 Project。

test

SlbLogstore

string

SLB 訪問日誌 Logstore。

test

Vport

string

SLB 連接埠。

80

SlbId

string

SLB 執行個體 ID。

lb-xxx

MaxReplicas

integer

最大執行個體數。

3

MinReplicas

integer

最小執行個體數。

1

ScaleRuleName

string

Auto Scaling策略的名稱。

test

EnableIdle

boolean

是否開啟閑置模式。

Message

string

附加資訊。取值說明如下:

  • 請求正常,返回 success

  • 請求異常,返回具體異常錯誤碼。

success

ErrorCode

string

錯誤碼。取值說明如下:

  • 請求成功:不返回 ErrorCode 欄位。

  • 請求失敗:返回 ErrorCode 欄位。具體資訊,請參見本文的錯誤碼列表。

Code

string

介面狀態或 POP 錯誤碼。取值說明如下:

  • 2xx:成功。

  • 3xx:重新導向。

  • 4xx:請求錯誤。

  • 5xx:伺服器錯誤。

200

Success

boolean

重啟應用執行個體是否成功。取值說明如下:

  • true:重啟成功。

  • false:重啟失敗。

true

樣本

正常返回樣本

JSON格式

{
  "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": true
  },
  "Message": "success",
  "ErrorCode": "",
  "Code": "200",
  "Success": true
}

錯誤碼

HTTP status code

錯誤碼

錯誤資訊

描述

400 InstanceExist.ScalingRuleName The specified ScalingRuleName already exists. 指定的彈性策略名稱稱已存在。
400 InvalidScalingRuleDate.BeginAfterEnd The specified beginning time is later than the ending time. 指定的開始時間晚於結束時間。
400 InvalidScalingRuleDate.Format The specified date is invalid. 指定的日期不合法。正確的格式為yyyy-MM-dd。
400 InvalidScalingRuleName.NotFound The specified ScalingRuleName does not exist. 指定的ScalingRuleName不存在。
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. 指定的彈性策略時間無效。該時間段已設定過定時策略,請重新選擇時間設定。
400 InvalidScalingRuleTime.Format The specified time is invalid. 指定的時間不合法。正確的格式為HH:mm。
400 QuotaExceeded.ScalingRule The maximum number of application scaling rules is exceeded. 應用彈性策略數量到達上限。
400 QuotaExceeded.ScalingRuleTime The maximum number of scaling policy trigger time is exceeded. 彈性策略觸發時間到達上限。
400 NoComputeResourceQuota.App.Exceed You can create %s instances for each application. Please submit a ticket to raise the quota. 每個應用只允許建立%s個執行個體,請加入釘群32874633聯絡技術產品專家進行諮詢。
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. 您的賬戶限額%s個執行個體,請加入釘群32874633聯絡技術產品專家進行諮詢。
400 System.Upgrading The system is being upgraded. Please try again later. 系統正在升級,請稍後操作。
400 OperationDenied.SDKNotSupported Metrics is not supported in SDK SDK未開放指標彈性規則。
400 MinReadyInstances.Not.Smaller.Replicas 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. 最小存活執行個體數比例值必須在0~100之間。

訪問錯誤中心查看更多錯誤碼。

變更歷史

更多資訊,參考變更詳情