调用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

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

  • 当指标超过追踪值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

扩容的最大值。

示例

请求示例

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"
        ]
      }
    }
  ]
}