All Products
Search
Document Center

Function Compute:PutProvisionConfig

Last Updated:Jun 02, 2023

Creates or modifies a provisioned configuration for a function.

Authorization information

There is currently no authorization information disclosed in the API.

Request syntax

PUT /2021-04-06/services/{serviceName}/functions/{functionName}/provision-config

Request parameters

ParameterTypeRequiredDescriptionExample
serviceNamestringYes

The name of the service.

demoService
qualifierstringYes

The name of the alias.

prod
functionNamestringYes

The name of the function.

demoFunction
bodyobjectNo

The provisioned configurations.

targetlongYes

The number of provisioned instances. Value range: [1,100000].

1
scheduledActionsarrayNo

The configurations of scheduled auto scaling.

ScheduledActionsNo

The details of scheduled auto scaling.

targetTrackingPoliciesarrayNo

The configurations of metric-based auto scaling.

TargetTrackingPoliciesNo

The details of metric-based auto scaling.

alwaysAllocateCPUbooleanNo

Specifies whether to always allocate CPU resources. Default value: true.

true
X-Fc-Account-IdstringNo

The ID of your Alibaba Cloud account.

188077086902****
X-Fc-DatestringNo

The time when Function Compute API is called. Specify the time in the EEE,d MMM yyyy HH:mm:ss GMT format.

Wed, 11 May 2022 09:00:00 GMT
X-Fc-Trace-IdstringNo

The trace ID of the invocation request of Function Compute.

rid281s******

Response parameters

ParameterTypeDescriptionExample
object

The details of provisioned configurations.

resourcestring

The description of the resource.

"12345#servierName#qualifier#functionName"
targetlong

The expected number of provisioned instances.

5
currentlong

The actual number of provisioned instances.

1
scheduledActionsarray

The configurations of scheduled auto scaling.

ScheduledActions

Details about the scheduled scaling policy. You can use the scheduled scaling policy to flexibly configure provisioned instances. You can specify the number of provisioned instances to the desired value at the scheduled time. This way, the number of provisioned instances can meet the concurrency requirements of your business.

[ { "Name": "action_1", "StartTime": "2020-11-01T10:00:00Z", "EndTime": "2020-11-30T10:00:00Z", "TargetValue": 50, "ScheduleExpression": "cron(0 0 20 * * *)" }, { "Name": "action_2", "StartTime": "2020-11-01T10:00:00Z", "EndTime": "2020-11-30T10:00:00Z", "TargetValue": 10, "ScheduleExpression": "cron(0 0 22 * * *)" } ]
targetTrackingPoliciesarray

The configurations of metric-based auto scaling.

TargetTrackingPolicies

The configuration of metric-based auto scaling. Provisioned instances are scaled in or out every minute based on the concurrency utilization of provisioned instances.

  • If the metric value exceeds the value of the metricTarget parameter, the system scales out provisioned instances based on a progressive policy to make the metric value closer to the value of the metricTarget parameter.
  • When the metric value is smaller than the value of the metricTarget parameter, the system scales in provisioned instances based on a conservative policy to make the metric value close to the value of the metricTarget parameter.

After you specify the maximum and minimum numbers of provisioned instances, the system scales in or out provisioned instances within the range from the minimum number to the maximum number. If the number of provisioned instances is beyond the range, the scaling stops.

[ { "Name": "action_1", "StartTime": "2020-11-01T10:00:00Z", "EndTime": "2020-11-30T10:00:00Z", "MetricType": "ProvisionedConcurrencyUtilization", "MetricTarget": 0.6, "MinCapacity": 10, "MaxCapacity": 100, } ]
alwaysAllocateCPUboolean

Specifies whether to always allocate CPU to a function instance.

true

Examples

Sample success responses

JSONformat

{
  "resource": "\"12345#servierName#qualifier#functionName\"",
  "target": 5,
  "current": 1,
  "scheduledActions": [
    {
      "name": "name",
      "startTime": "2020-10-10T10:10:10Z",
      "endTime": "2021-10-10T10:10:10Z",
      "target": 50,
      "scheduleExpression": "cron(0/30 * * * *)"
    }
  ],
  "targetTrackingPolicies": [
    {
      "name": "test_1",
      "startTime": "2020-10-10T10:10:10Z",
      "endTime": "2020-10-10T10:10:10Z",
      "metricType": "CPUUtilization",
      "metricTarget": 0.6,
      "minCapacity": 10,
      "maxCapacity": 100
    }
  ],
  "alwaysAllocateCPU": true
}

Error codes

For a list of error codes, visit the Service error codes.

Change history

Change timeSummary of changesOperation
2021-06-30The input parameters of the API operation change.
Change itemChange content
Input ParametersThe input parameters of the API operation change.
    Added Input Parameters: X-Fc-Account-Id
    Added Input Parameters: X-Fc-Code-Checksum
    Added Input Parameters: X-Fc-Log-Type
    Added Input Parameters: X-Fc-Invocation-Type
    Added Input Parameters: X-Fc-Date
    Added Input Parameters: X-Fc-Trace-Id
2021-06-30The input parameters of the API operation change.
Change itemChange content
Input ParametersThe input parameters of the API operation change.
    Added Input Parameters: X-Fc-Account-Id
2021-06-30The input parameters of the API operation change.
Change itemChange content
Input ParametersThe input parameters of the API operation change.
    delete Input Parameters: X-Fc-Account-Id