publishVersion method
Creates a version from the current code and configuration of a function. Use versions to create a snapshot of your function code and configuration that doesn't change.
Lambda doesn't publish a version if the function's configuration and code haven't changed since the last version. Use UpdateFunctionCode or UpdateFunctionConfiguration to update the function before publishing a version.
Clients can invoke versions directly or with an alias. To create an alias, use CreateAlias.
May throw CodeStorageExceededException.
May throw FunctionVersionsPerCapacityProviderLimitExceededException.
May throw InvalidParameterValueException.
May throw PreconditionFailedException.
May throw ResourceConflictException.
May throw ResourceNotFoundException.
May throw ServiceException.
May throw TooManyRequestsException.
Parameter functionName :
The name or ARN of the Lambda function.
Name formats
-
Function name -
MyFunction. -
Function ARN -
arn:aws:lambda:us-west-2:123456789012:function:MyFunction. -
Partial ARN -
123456789012:function:MyFunction.
Parameter codeSha256 :
Only publish a version if the hash value matches the value that's
specified. Use this option to avoid publishing a version if the function
code has changed since you last updated it. You can get the hash for the
version that you uploaded from the output of UpdateFunctionCode.
Parameter description :
A description for the version to override the description in the function
configuration.
Parameter publishTo :
Specifies where to publish the function version or configuration.
Parameter revisionId :
Only update the function if the revision ID matches the ID that's
specified. Use this option to avoid publishing a version if the function
configuration has changed since you last updated it.
Implementation
Future<FunctionConfiguration> publishVersion({
required String functionName,
String? codeSha256,
String? description,
FunctionVersionLatestPublished? publishTo,
String? revisionId,
}) async {
final $payload = <String, dynamic>{
if (codeSha256 != null) 'CodeSha256': codeSha256,
if (description != null) 'Description': description,
if (publishTo != null) 'PublishTo': publishTo.value,
if (revisionId != null) 'RevisionId': revisionId,
};
final response = await _protocol.send(
payload: $payload,
method: 'POST',
requestUri:
'/2015-03-31/functions/${Uri.encodeComponent(functionName)}/versions',
exceptionFnMap: _exceptionFns,
);
return FunctionConfiguration.fromJson(response);
}