调用ListProvisionConfigs接口获取预留配置列表。
背景信息
预留模式通过预留适量函数实例来响应函数调用请求,降低冷启动的发生次数,为时延敏感的在线业务提供更好的服务响应。预留模式配置的固定预留值可能会导致预留函数实例利用不充分,您可以通过定时弹性伸缩和指标追踪弹性伸缩两种模式解决该问题。具体信息,请参见预留模式实例的自动弹性伸缩。
请求头
该接口无特殊请求头,关于公共请求头信息,请参见公共参数。
请求语法
GET /provision-configs HTTP/1.1
请求参数
名称 | 类型 | 位置 | 是否必选 | 示例值 | 描述 |
---|---|---|---|---|---|
limit | Long | Query | 否 | 20 |
限定此次返回资源的数量。如果不设定,默认返回20,最大不能超过100。返回结果可以小于指定的数量,但不能多于指定的数量。 |
nextToken | String | Query | 否 | next_service |
用来返回更多结果。第一次查询不需要提供该参数,后续查询的Token从返回结果中获取。 |
serviceName | String | Query | 否 | service_name |
服务的名称。 |
qualifier | String | Query | 否 | test |
服务的版本或别名。 |
返回数据
名称 | 类型 | 示例值 | 描述 |
---|---|---|---|
nextToken | String | next_service |
用来返回更多的查询结果。如果这个值没有返回,则说明没有更多结果。 |
provisionConfigs | Array |
配置列表。 |
|
resource | String | 19861144****3057#service_name#test#function_name |
资源的描述。 |
target | Long | 15 |
预留的目标资源个数。 |
current | Long | 15 |
实际资源的个数。 |
scheduledActions | Array |
定时伸缩策略:通过定时伸缩策略您可以更加灵活地配置预留的函数实例,在指定时间将预留的函数实例量设定成需要的值,使函数实例量更好地贴合业务的并发量。 |
|
name | String | demoScheduler |
定时任务的名称。 |
startTime | String | 2020-10-10T10:10:10Z |
定时伸缩的起始生效时间。 |
endTime | String | 2020-12-10T10:10:10Z |
定时伸缩的结束生效时间。 |
target | Long | 10 |
预留的目标资源个数。 |
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 |
扩容的最大值。 |
示例
请求示例
GET /2016-08-15/provision-configs HTTP/1.1
公共请求头
正常返回示例
JSON
格式
HTTP/1.1 200 OK
Content-Type:application/json
{
"provisionConfigs": [
{
"resource": "19861144****3057#service_name#test#function_name",
"current": 15
"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"
]
}
}
]
}