publishVersion method

Future<FunctionConfiguration> publishVersion({
  1. required String functionName,
  2. String? codeSha256,
  3. String? description,
  4. FunctionVersionLatestPublished? publishTo,
  5. String? revisionId,
})

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.
The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

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);
}