Configuration options for debugging serverless applications - AWS Cloud9

Configuration options for debugging serverless applications

With inline actions, you can easily find and define properties for invoking Lambda functions directly or with the SAM template. You can also define properties for "lambda" (how the function runs), "sam" (how the AWS SAM CLI builds the application), and "aws" (how AWS connection information is provided).

AWS SAM: Direct Lambda handler invoke / Template-based Lambda invoke
Property Description

type

Specifies which extension manages the launch configuration. Always set to aws-sam to use the AWS SAM CLI to build and debug locally.

name

Specifies a reader-friendly name to appear in the Debug launch configuration list.

request

Specifies the type of configuration to be performed by the designated extension (aws-sam). Always set to direct-invoke to start the Lambda function.

invokeTarget

Specifies the entry point for invoking the resource.

For invoking the Lambda function directly, set values for the following invokeTarget fields:

  • target – Set to code.

  • lambdaHandler – The name of the Lambda function handler to invoke.

  • projectRoot – The path for the application file containing the Lambda handler.

For invoking the Lambda resources with the SAM template, set values for the following invokeTarget fields:

  • target – Set to template.

  • templatePath – The path to the SAM template file.

  • logicalId – The resource name of the AWS::Lambda::Function or AWS::Serverless::Function to invoke. You can find the resource name in the YAML-formatted SAM template.

Lambda ("lambda") properties
Property Description

environmentVariables

Passes operational parameters to your function. For example, if you're writing to an Amazon S3 bucket, configure the bucket name as an environment variable. Do not hard code the bucket name that you're writing to.

payload

Provides two options for the event payload that you provide to your Lambda function as input.

  • "json": JSON-formatted key-value pairs that define the event payload.

  • "path": A path to the file that's used as the event payload.

memoryMB

Specifies megabytes of memory provided for running an invoked Lambda function.

runtime

Specifies the runtime used by the Lambda function. For more information, see AWS Lambda runtimes.

timeoutSec

Sets the time allowed, in seconds, before the debug session times out.

The AWS Toolkit extension uses the AWS SAM CLI to build and debug serverless applications locally. You can configure the behavior of AWS SAM CLI commands using properties of the "sam" configuration in the launch.json file.

AWS SAM CLI ("sam") properties
Property Description Default value

buildArguments

Configures how the sam build command builds your Lambda source code. To view build options, see sam build in the AWS Serverless Application Model Developer Guide.

Empty string

containerBuild

Indicates whether to build your function inside an AWS Lambda-like Docker container.

false

dockerNetwork

Specifies the name or ID of an existing Docker network that the Lambda Docker containers should connect to, along with the default bridge network. If not specified, the Lambda containers only connect to the default bridge Docker network.

Empty string

localArguments

Additional local invoke arguments.

Empty string

skipNewImageCheck

Specifies whether the command should skip pulling down the latest Docker image for Lambda runtime.

false

template

Customizes your SAM template by using parameters to input customer values to it. For more information, see Parameters in the AWS CloudFormation User Guide.

"parameters":{}

AWS connection ("aws") properties
Property Description Default value

credentials

Selects a specific profile (for example, profile:default) from your credential file to get AWS credentials.

The AWS credentials provided by your existing shared AWS config file or shared AWS credentials file.

Region

Sets the AWS Region of the service (for example, us-east-1).

The default AWS Region associated with the active credentials profile.