调用PutProvisionConfig接口设置预留配置。

背景信息

预留模式通过预留适量函数实例来响应函数调用请求,降低冷启动的发生次数,为时延敏感的在线业务提供更好的服务响应。预留模式配置的固定预留值可能会导致预留函数实例利用不充分,您可以通过定时弹性伸缩和指标追踪弹性伸缩两种模式解决该问题。具体信息,请参见预留模式实例的自动弹性伸缩

请求头

该接口无特殊请求头,关于公共请求头信息,请参见公共参数

请求语法

PUT /services/{serviceName.[qualifier]}/functions/{functionName}/provision-config HTTP/1.1

请求参数

名称类型位置是否必选示例值描述
名称 类型 位置 是否必选 示例值 描述
serviceName String Path service_name

服务的名称。

qualifier String Path test

服务的版本或别名。

functionName String Path function_name

函数的名称。

Object Body

函数定义。

target Long Body 15

预留的目标资源个数。

scheduledActions Array Body

定时伸缩策略:通过定时伸缩策略您可以更加灵活地配置预留的函数实例,在指定时间将预留的函数实例量设定成需要的值,使函数实例量更好地贴合业务的并发量。

name String Body demoScheduler

定时任务的名称。

startTime String Body 2020-10-10T10:10:10Z

定时伸缩的起始生效时间。

endTime String Body 2020-12-10T10:10:10Z

定时伸缩的结束生效时间。

target Long Body 10

预留的目标资源个数。

scheduleExpression String Body cron(0 30 8 * * *)

定时信息,支持两种格式。详细信息,请参见参数说明

targetTrackingPolicies Array Body

指标伸缩策略:根据函数实例并发利用率的情况每分钟对预留资源进行一次伸缩。

  • 当指标超过追踪值metricTarget时,开始以积极的策略扩容预留模式的函数实例量,以使得指标值恢复到追踪值metricTarget附近。
  • 当指标低于追踪值metricTarget时,开始以保守的策略缩容预留模式的函数实例量,以使得指标值逐渐恢复到追踪值metricTarget附近。

当您在系统中设置了伸缩最大值和最小值时,预留的函数实例量会在最大值与最小值之间进行伸缩,超出最大值时将停止扩容,低于最小值时将停止缩容。

name String Body demoTargetTracking

定时任务的名称。

startTime String Body 2020-10-10T10:10:10Z

指标伸缩的起始生效时间。

endTime String Body 2020-12-10T10:10:10Z

指标伸缩的结束生效时间。

metricType String Body ProvisionedConcurrencyUtilization

追踪的指标类型。

metricTarget double Body 0.6

指标的追踪值。

minCapacity Long Body 10

缩容的最小值。

maxCapacity Long Body 100

扩容的最大值。

返回数据

名称类型示例值描述
名称 类型 示例值 描述
resource String 19861144****3057#service_name#test#function_name

资源描述。

target Long 15

预留的目标资源个数。

current Long 1

实际实例数。

scheduledActions Array

定时伸缩策略:通过定时伸缩策略您可以更加灵活地配置预留的函数实例,在指定时间将预留的函数实例量设定成需要的值,使函数实例量更好地贴合业务的并发量。

name String demoScheduler

定时任务的名称。

startTime String 2020-10-10T10:10:10Z

定时伸缩的起始生效时间。

endTime String 2020-12-10T10:10:10Z

定时伸缩的结束生效时间。

target Long 5

预留的目标资源个数。

scheduleExpression String cron(0 30 8 * * *)

定时信息,支持两种格式。详细信息,请参见参数说明

targetTrackingPolicies Array

指标伸缩策略:根据函数实例并发利用率的情况每分钟对预留资源进行一次伸缩。

  • 当指标超过追踪值metricTarget时,开始以积极的策略扩容预留模式的函数实例量,以使得指标值恢复到追踪值metricTarget附近。
  • 当指标低于追踪值metricTarget时,开始以保守的策略缩容预留模式的函数实例量,以使得指标值逐渐恢复到追踪值metricTarget附近。

当您在系统中设置了伸缩最大值和最小值时,预留的函数实例量会在最大值与最小值之间进行伸缩,超出最大值时将停止扩容,低于最小值时将停止缩容。

name String demoTargetTracking

定时任务的名称。

startTime String 2020-10-10T10:10:10Z

指标伸缩的起始生效时间。

endTime String 2020-12-10T10:10:10Z

指标伸缩的结束生效时间。

metricType String ProvisionedConcurrencyUtilization

追踪的指标类型。

metricTarget double 0.6

指标的追踪值。

minCapacity Long 10

缩容的最小值。

maxCapacity Long 100

扩容的最大值。

示例

请求示例

PUT /2016-08-15/services/service_name.test/functions/function_name/provision-config HTTP/1.1 
公共请求头
{
    "scheduledActions":[
        {
            "endTime":"2020-12-10T10:10:10Z",
            "name":"demoScheduler",
            "scheduleExpression":"cron(0 30 8 * * *)",
            "startTime":"2020-10-10T10:10:10Z",
            "target":5
        }
    ],
    "target":15,
    "targetTrackingPolicies":[
        {
            "endTime":"2020-12-10T10:10:10Z",
            "maxCapacity":100,
            "metricTarget":0.6,
            "metricType":"ProvisionedConcurrencyUtilization",
            "minCapacity":10,
            "name":"demoScheduler",
            "startTime":"2020-10-10T10:10:10Z"
        }
    ]
}

正常返回示例

JSON格式

HTTP/1.1 200 OK
Content-Type:application/json

{
  "current" : "1",
  "resource" : "19861144****3057#service_name#test#function_name",
  "scheduledActions" : [ {
    "endTime" : "2020-12-10T10:10:10Z",
    "name" : "demoScheduler",
    "scheduleExpression" : "cron(0 30 8 * * *)",
    "startTime" : "2020-10-10T10:10:10Z",
    "target" : 5
  } ],
  "target" : 15,
  "targetTrackingPolicies" : [ {
    "endTime" : "2020-12-10T10:10:10Z",
    "maxCapacity" : 100,
    "metricTarget" : 0.6,
    "metricType" : "ProvisionedConcurrencyUtilization",
    "minCapacity" : 10,
    "name" : "demoScheduler",
    "startTime" : "2020-10-10T10:10:10Z"
  } ]
}