调用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 | 否 |
指标伸缩策略:根据函数实例并发利用率的情况每分钟对预留资源进行一次伸缩。
当您在系统中设置了伸缩最大值和最小值时,预留的函数实例量会在最大值与最小值之间进行伸缩,超出最大值时将停止扩容,低于最小值时将停止缩容。 |
|
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 |
指标伸缩策略:根据函数实例并发利用率的情况每分钟对预留资源进行一次伸缩。
当您在系统中设置了伸缩最大值和最小值时,预留的函数实例量会在最大值与最小值之间进行伸缩,超出最大值时将停止扩容,低于最小值时将停止缩容。 |
|
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"
} ]
}