Menu

This is documentation for the next version of K6. For the latest stable release, go to the latest version.

Open source RSS

LambdaClient

Caution

In some cases, using this library's operations might impact performance and skew your test results.

To ensure accurate results, consider executing these operations in the setup and teardown lifecycle functions. These functions run before and after the test run and have no impact on the test results.

LambdaClient interacts with AWS Lambda. With it, you can invoke a Lambda function.

Both the dedicated lambda.js jslib bundle and the all-encompassing aws.js bundle include the LambdaClient.

Methods

FunctionDescription
invoke(name, payload, [options])Invokes an AWS Lambda function.

Throws

LambdaClient methods will throw errors in case of failure.

ErrorCondition
InvalidSignatureErrorWhen invalid credentials were provided.
LambdaInvocationErrorWhen AWS replied to the requested invocation with an error.

Examples

JavaScript
import {
  AWSConfig,
  LambdaClient,
} from 'https://jslib.k6.io/aws/0.12.3/lambda.js';
import { check } from 'k6';

const awsConfig = new AWSConfig({
  region: __ENV.AWS_REGION,
  accessKeyId: __ENV.AWS_ACCESS_KEY_ID,
  secretAccessKey: __ENV.AWS_SECRET_ACCESS_KEY,
  sessionToken: __ENV.AWS_SESSION_TOKEN,
});

const lambdaClient = new LambdaClient(awsConfig);

export default async function () {
  const response = await lambdaClient.invoke('add-numbers', JSON.stringify({ x: 1, y: 2 }));

  check(response, {
    'status is 200': (r) => r.statusCode === 200,
    'payload is 3': (r) => r.payload === 3,
  });
}