LinuxCommandLibrary

aws-lambda

Manage AWS Lambda functions

TLDR

Run a function

$ aws lambda invoke --function-name [name] [path/to/response.json]
copy

Run a function with an input payload in JSON format
$ aws lambda invoke --function-name [name] --payload [json] [path/to/response.json]
copy

List functions
$ aws lambda list-functions
copy

Display the configuration of a function
$ aws lambda get-function-configuration --function-name [name]
copy

List function aliases
$ aws lambda list-aliases --function-name [name]
copy

Display the reserved concurrency configuration for a function
$ aws lambda get-function-concurrency --function-name [name]
copy

List which AWS services can invoke the function
$ aws lambda get-policy --function-name [name]
copy

SYNOPSIS

aws lambda subcommand [global-options] [subcommand-options]

PARAMETERS

add-layer-version-permission
    Adds permissions to a layer version

add-permission
    Adds a permission to the resource policy

create-alias
    Creates a Lambda function alias

create-code-signing-config
    Creates a code signing configuration

create-event-source-mapping
    Creates an event source mapping

create-function
    Creates a Lambda function

create-function-url-config
    Creates a function URL

delete-alias
    Deletes a Lambda function alias

delete-code-signing-config
    Deletes a code signing configuration

delete-event-source-mapping
    Deletes an event source mapping

delete-function
    Deletes a Lambda function

delete-function-code-signing-config
    Deletes function code signing config

delete-function-concurrency
    Deletes function concurrency

delete-function-event-invoke-config
    Deletes function event invoke config

delete-function-url-config
    Deletes function URL config

delete-layer-version
    Deletes a layer version

delete-provisioned-concurrency-config
    Deletes provisioned concurrency config

get-account-settings
    Returns account-level settings

get-alias
    Returns alias configuration

get-code-signing-config
    Returns code signing config

get-event-source-mapping
    Returns event source mapping

get-function
    Returns function configuration

get-function-code-signing-config
    Returns function code signing config

get-function-concurrency
    Returns function concurrency

get-function-configuration
    Returns function configuration details

get-function-event-invoke-config
    Returns function event invoke config

get-function-url-config
    Returns function URL config

get-layer-version
    Returns layer version details

get-layer-version-by-arn
    Returns layer version by ARN

get-layer-versions
    Lists layer versions

get-policy
    Returns resource policy

get-provisioned-concurrency-config
    Returns provisioned concurrency config

invoke
    Invokes a Lambda function

list-aliases
    Lists function aliases

list-code-signing-configs
    Lists code signing configs

list-event-source-mappings
    Lists event source mappings

list-function-event-invoke-configs
    Lists function event invoke configs

list-function-url-configs
    Lists function URL configs

list-functions
    Lists Lambda functions

list-layer-versions
    Lists layer versions

list-layers
    Lists Lambda layers

list-provisioned-concurrency-configs
    Lists provisioned concurrency configs

list-tags
    Lists function tags

list-versions-by-function
    Lists function versions

publish-layer-version
    Publishes a layer version

publish-version
    Publishes a function version

put-function-code-signing-config
    Updates function code signing config

put-function-concurrency
    Sets function concurrency

put-function-event-invoke-config
    Configures function event invoke

put-provisioned-concurrency-config
    Creates/updates provisioned concurrency

remove-layer-version-permission
    Removes layer version permission

remove-permission
    Removes permission from policy

tag-resource
    Tags a resource

untag-resource
    Untags a resource

update-alias
    Updates alias

update-code-signing-config
    Updates code signing config

update-event-source-mapping
    Updates event source mapping

update-function-code
    Updates function code

update-function-configuration
    Updates function configuration

update-function-event-invoke-config
    Updates function event invoke config

update-function-url-config
    Updates function URL config

DESCRIPTION

The aws lambda command, part of the AWS Command Line Interface (CLI), provides full control over AWS Lambda, a serverless compute service that runs code in response to events without managing servers. It enables developers and administrators to create, configure, deploy, invoke, monitor, and delete Lambda functions programmatically.

Core operations include uploading function code (ZIP archives or container images), specifying runtimes like Node.js, Python, Java, or custom, setting handlers, memory allocation (128MB to 10GB), timeouts (up to 15 minutes), and environment variables. Manage versions and aliases for safe deployments, layers for shared code/dependencies, event source mappings for triggers from SQS, Kinesis, etc., and permissions via resource policies.

Invocation supports synchronous (request-response) or asynchronous modes, with options for payload, qualifiers, and log streaming. List, tag, and filter functions; configure concurrency limits, dead-letter queues, VPC settings, and code signing. Integrates seamlessly with CloudWatch for logs/metrics, IAM for security, and other AWS services.

Ideal for automation in CI/CD pipelines, infrastructure as code (with CloudFormation or CDK), and scripting. Requires AWS credentials with appropriate Lambda permissions.

CAVEATS

Requires AWS CLI installed and configured with valid credentials. Most subcommands need specific IAM permissions. High-volume operations may hit API throttling. Function payloads limited to 6MB synchronous, 256KB asynchronous.

COMMON GLOBAL OPTIONS

--debug (bool): Enable debug logging
--region (str): AWS region, e.g., us-east-1
--profile (str): Named profile from credentials file
--cli-input-json (str): Perform action via JSON input

EXAMPLE USAGE

List functions: aws lambda list-functions
Create function: aws lambda create-function --function-name myfunc --runtime python3.9 --role arn:aws:iam::123:role/lambda-role --handler lambda_function.lambda_handler --zip-file fileb://function.zip
Invoke: aws lambda invoke --function-name myfunc response.json

HISTORY

AWS Lambda launched November 2014; initial CLI support in AWS CLI v1 (2013 base). Expanded with layers (2018), provisioned concurrency (2019), function URLs (2022), container images (2020). AWS CLI v2 (2020) improved performance and JSON handling.

SEE ALSO

aws(1), aws iam(1), aws s3(1), aws cloudwatch(1), sam(1)

Copied to clipboard