CreateWebFunctionRevision
Creates an immutable revision for a web function. A revision represents a specific version of the function code and configuration.
To use this operation, you must have the CreateWebFunctionRevision permission on the web function, not on the revision being created.
Request Syntax
POST /2025-03-07/web-functions/functionName/revisions HTTP/1.1
Content-type: application/json
{
"buildConfig": {
"codeConfig": {
"s3Object": {
"bucket": "string",
"key": "string",
"versionId": "string"
}
},
"runtimeConfig": {
"runtime": "string"
}
},
"description": "string",
"kmsKeyArn": "string",
"serviceConfig": {
"egressNetworkConnectorArn": "string",
"environmentVariables": {
"string" : "string"
},
"executionRoleArn": "string",
"maxConcurrencyPerEnvironment": number,
"telemetryConfig": {
"loggingConfig": {
"applicationLogLevel": "string",
"logGroup": "string",
"systemLogLevel": "string"
}
},
"timeoutSeconds": number
}
}
URI Request Parameters
The request uses the following URI parameters.
- functionName
-
The web function.
You can specify either of the following:
-
The function name, for example
my-function. -
The function ARN.
The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.
Length Constraints: Minimum length of 1. Maximum length of 256.
Required: Yes
-
Request Body
The request accepts the following data in JSON format.
- buildConfig
-
The build configuration for the revision, including code location and runtime settings.
Type: BuildConfig object
Required: Yes
- description
-
A description of the revision.
Type: String
Length Constraints: Minimum length of 0. Maximum length of 256.
Required: No
- kmsKeyArn
-
The Amazon Resource Name (ARN) of the AWS Key Management Service (AWS KMS) key used to encrypt the revision's code and environment variables.
Type: String
Length Constraints: Minimum length of 20. Maximum length of 2048.
Pattern:
arn:(aws[a-z-]*):kms:[a-z0-9-]+:[0-9]{12}:key/[a-z0-9-]+Required: No
- serviceConfig
-
The service configuration for the revision, including execution role, timeout, and concurrency settings.
Type: ServiceConfig object
Required: Yes
Response Syntax
HTTP/1.1 202
Content-type: application/json
{
"buildConfig": {
"codeConfig": {
"s3Object": {
"bucket": "string",
"key": "string",
"versionId": "string"
}
},
"runtimeConfig": {
"runtime": "string"
}
},
"createdAt": "string",
"description": "string",
"errors": [
{
"attribute": "string",
"errorCode": "string",
"errorMessage": "string"
}
],
"functionArn": "string",
"kmsKeyArn": "string",
"revisionArn": "string",
"revisionId": "string",
"serviceConfig": {
"egressNetworkConnectorArn": "string",
"environmentVariables": {
"string" : "string"
},
"executionRoleArn": "string",
"maxConcurrencyPerEnvironment": number,
"telemetryConfig": {
"loggingConfig": {
"applicationLogLevel": "string",
"logGroup": "string",
"systemLogLevel": "string"
}
},
"timeoutSeconds": number
},
"state": "string",
"stateReason": "string"
}
Response Elements
If the action is successful, the service sends back an HTTP 202 response.
The following data is returned in JSON format by the service.
- buildConfig
-
The build configuration for a web function revision, including code location and runtime settings.
Type: BuildConfig object
- createdAt
-
The date and time the revision was created.
Type: Timestamp
- description
-
The description of the revision.
Type: String
Length Constraints: Minimum length of 0. Maximum length of 256.
- errors
-
A list of errors encountered during revision creation. This field is absent when the revision has no errors.
Type: Array of RevisionError objects
Array Members: Minimum number of 1 item. Maximum number of 50 items.
- functionArn
-
The Amazon Resource Name (ARN) of the web function.
Type: String
Length Constraints: Minimum length of 1. Maximum length of 2048.
- kmsKeyArn
-
The Amazon Resource Name (ARN) of the AWS KMS key used to encrypt the revision's code and environment variables.
Type: String
Length Constraints: Minimum length of 20. Maximum length of 2048.
Pattern:
arn:(aws[a-z-]*):kms:[a-z0-9-]+:[0-9]{12}:key/[a-z0-9-]+ - revisionArn
-
The Amazon Resource Name (ARN) of the revision.
Type: String
Length Constraints: Minimum length of 1. Maximum length of 2048.
- revisionId
-
The identifier of the revision.
Type: String
Length Constraints: Minimum length of 1. Maximum length of 256.
- serviceConfig
-
The service configuration for a web function revision, including execution role, timeout, VPC network access, concurrency, and telemetry settings.
Type: ServiceConfig object
- state
-
The current state of the revision.
Type: String
Valid Values:
Pending | Active | Failed - stateReason
-
The reason for the current state of the revision.
Type: String
Errors
For information about the errors that are common to all actions, see Common Error Types.
- AccessDeniedException
-
You don't have permission to perform this operation. Check the IAM policies for your identity and any resource-based policy on the web function.
- message
-
A message describing the access denied error.
HTTP Status Code: 403
- ConflictException
-
The request conflicts with the current state of the resource. For example, the resource is being modified by another request, you tried to delete a revision that is serving traffic on an endpoint, or the policy revision ID that you specified doesn't match the current policy. Resolve the conflict and try again.
- message
-
A message describing the conflict.
- resourceId
-
The identifier of the resource in conflict.
- resourceType
-
The type of the resource in conflict.
HTTP Status Code: 409
- InternalServerException
-
The request failed because of an internal error in the service. Retry the request. If the error persists, open a support case.
- message
-
A message describing the internal error.
HTTP Status Code: 500
- ResourceNotFoundException
-
The specified web function, revision, endpoint, or resource-based policy doesn't exist. Verify the resource identifier and try again.
- message
-
A message describing the resource not found error.
- resourceId
-
The identifier of the resource that was not found.
- resourceType
-
The type of the resource that was not found.
HTTP Status Code: 404
- ServiceQuotaExceededException
-
The request would exceed a service quota, such as the maximum number of web functions in your account or the maximum number of revisions or endpoints per web function. Request a quota increase or reduce usage and try again.
- message
-
A message describing the quota that was exceeded.
- quotaCode
-
The quota code of the exceeded quota.
- resourceId
-
The identifier of the resource that exceeded the quota.
- resourceType
-
The type of resource that exceeded the quota.
- serviceCode
-
The service code of the service that owns the quota.
HTTP Status Code: 402
- ThrottlingException
-
The request was denied because it exceeded the request rate that Lambda allows for your account. Reduce the frequency of requests and retry with exponential backoff.
- message
-
A message describing the throttling error.
- quotaCode
-
The quota code that was exceeded, if applicable.
- retryAfterSeconds
-
The number of seconds to wait before retrying the request.
- serviceCode
-
The service code of the throttled service.
HTTP Status Code: 429
- ValidationException
-
The request failed validation because a parameter was missing, malformed, or outside the allowed range. Check the request parameters and try again.
- message
-
A message describing the validation error.
HTTP Status Code: 400
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following: