菜单
开源

LambdaClient.invoke(name, payload, [options])

LambdaClient.invoke 调用 AWS Lambda 函数。

参数

参数类型描述
namestring要调用的函数名称。
payloadstring发送到被调用函数的 payload。
optionsInvocationOptions用于自定义调用的附加选项。

InvocationOptions

InvocationOptions 是一个用于自定义 Lambda 函数调用的对象。它具有以下属性

属性类型描述
invocationTypestring (可选)指定调用类型(同步或异步)。可能的值有:RequestResponse,同步调用函数;Event,异步调用函数;以及 DryRun,验证参数值并验证用户或角色是否具有调用函数的权限。默认为 RequestResponse
logTypestring (可选)指定响应中包含的日志类型。设置为 Tail 以在响应中包含执行日志。仅适用于同步调用的函数。默认为 None
clientContextstring (可选)传递给函数的客户端上下文。可包含最多 3,583 字节的 base64 编码数据。默认为 null
qualifierstring (可选)要调用的函数的版本或别名。

返回值

类型描述
Promise< InvocationResponse>当对象从 S3 中删除时完成的 Promise。

InvocationResponse

InvocationResponse 是表示调用响应的对象。它具有以下属性

属性类型描述
statusCodenumber调用的状态码。
executedVersionstring (可选)执行的函数版本。
logResultstring (可选)调用的日志结果。
payloadstring (可选)函数返回的 Payload。

示例

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,
  });
}