菜单
开源 RSS

LambdaClient

注意

在某些情况下,使用此库的操作可能会影响性能并使测试结果失真。

为了确保准确的结果,请考虑在 setupteardown 生命周期函数中执行这些操作。这些函数在测试运行之前和之后运行,对测试结果没有影响。

LambdaClientAWS Lambda 交互。通过它,您可以调用 Lambda 函数。

专门的 lambda.js jslib 包和包含一切的 aws.js 包都包含 LambdaClient

方法

函数描述
invoke(name, payload, [options])调用一个 AWS Lambda 函数。

抛出

LambdaClient 方法在失败时将抛出错误。

Error条件
InvalidSignatureError提供了无效凭据时。
LambdaInvocationError当 AWS 对请求的调用回复错误时。

示例

JavaScript
import {
  AWSConfig,
  LambdaClient,
} from 'https://jslib.k6.io/aws/0.13.0/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,
  });
}