Skip to content

Creates an Lambda layer from a ZIP archive

Description

Creates an Lambda layer from a ZIP archive. Each time you call publish_layer_version with the same layer name, a new version is created.

Add layers to your function with create_function or update_function_configuration.

Usage

lambda_publish_layer_version(LayerName, Description, Content,
  CompatibleArchitectures, CompatibleRuntimes, LicenseInfo)

Arguments

  • LayerName

[required] The name or Amazon Resource Name (ARN) of the layer.

  • Description

The description of the version.

  • Content

[required] The function layer archive.

  • CompatibleArchitectures

A list of compatible instruction set architectures.

  • CompatibleRuntimes

A list of compatible function runtimes. Used for filtering with list_layers and list_layer_versions.

The following list includes deprecated runtimes. For more information, see Runtime deprecation policy.

  • LicenseInfo

The layer's software license. It can be any of the following:

  • An SPDX license identifier. For example, MIT.
  • The URL of a license hosted on the internet. For example, https://opensource.org/licenses/MIT.
  • The full text of the license.

Value

A list with the following syntax:

list(
  Content = list(
    Location = "string",
    CodeSha256 = "string",
    CodeSize = 123,
    SigningProfileVersionArn = "string",
    SigningJobArn = "string",
    ResolvedS3Object = list(
      S3Bucket = "string",
      S3Key = "string",
      S3ObjectVersion = "string"
    )
  ),
  LayerArn = "string",
  LayerVersionArn = "string",
  Description = "string",
  CreatedDate = "string",
  Version = 123,
  CompatibleArchitectures = list(
    "x86_64"|"arm64"
  ),
  CompatibleRuntimes = list(
    "nodejs"|"nodejs4.3"|"nodejs6.10"|"nodejs8.10"|"nodejs10.x"|"nodejs12.x"|"nodejs14.x"|"nodejs16.x"|"nodejs18.x"|"nodejs20.x"|"nodejs22.x"|"nodejs24.x"|"java8"|"java8.al2"|"java11"|"java17"|"java21"|"java25"|"python2.7"|"python3.6"|"python3.7"|"python3.8"|"python3.9"|"python3.10"|"python3.11"|"python3.12"|"python3.13"|"python3.14"|"dotnetcore1.0"|"dotnetcore2.0"|"dotnetcore2.1"|"dotnetcore3.1"|"dotnet6"|"dotnet8"|"dotnet10"|"nodejs4.3-edge"|"go1.x"|"ruby2.5"|"ruby2.7"|"ruby3.2"|"ruby3.3"|"ruby3.4"|"ruby4.0"|"provided"|"provided.al2"|"provided.al2023"|"nodejs26.x"|"python3.15"|"java8.al2023"|"java11.al2023"|"java17.al2023"
  ),
  LicenseInfo = "string"
)

Request syntax

svc$publish_layer_version(
  LayerName = "string",
  Description = "string",
  Content = list(
    S3Bucket = "string",
    S3Key = "string",
    S3ObjectVersion = "string",
    S3ObjectStorageMode = "COPY"|"REFERENCE",
    ZipFile = raw
  ),
  CompatibleArchitectures = list(
    "x86_64"|"arm64"
  ),
  CompatibleRuntimes = list(
    "nodejs"|"nodejs4.3"|"nodejs6.10"|"nodejs8.10"|"nodejs10.x"|"nodejs12.x"|"nodejs14.x"|"nodejs16.x"|"nodejs18.x"|"nodejs20.x"|"nodejs22.x"|"nodejs24.x"|"java8"|"java8.al2"|"java11"|"java17"|"java21"|"java25"|"python2.7"|"python3.6"|"python3.7"|"python3.8"|"python3.9"|"python3.10"|"python3.11"|"python3.12"|"python3.13"|"python3.14"|"dotnetcore1.0"|"dotnetcore2.0"|"dotnetcore2.1"|"dotnetcore3.1"|"dotnet6"|"dotnet8"|"dotnet10"|"nodejs4.3-edge"|"go1.x"|"ruby2.5"|"ruby2.7"|"ruby3.2"|"ruby3.3"|"ruby3.4"|"ruby4.0"|"provided"|"provided.al2"|"provided.al2023"|"nodejs26.x"|"python3.15"|"java8.al2023"|"java11.al2023"|"java17.al2023"
  ),
  LicenseInfo = "string"
)

Examples

# The following example creates a new Python library layer version. The
# command retrieves the layer content a file named layer.zip in the
# specified S3 bucket.
svc$publish_layer_version(
  CompatibleRuntimes = list(
    "python3.6",
    "python3.7"
  ),
  Content = list(
    S3Bucket = "lambda-layers-us-west-2-123456789012",
    S3Key = "layer.zip"
  ),
  Description = "My Python layer",
  LayerName = "my-layer",
  LicenseInfo = "MIT"
)