LambdaClient.invoke(name, payload, [options])
LambdaClient.invoke
调用 AWS Lambda 函数。
参数
参数 | 类型 | 描述 |
---|
name | string | 要调用的函数名称。 |
payload | string | 发送到被调用函数的 payload。 |
options | InvocationOptions | 用于自定义调用的附加选项。 |
InvocationOptions
InvocationOptions 是一个用于自定义 Lambda 函数调用的对象。它具有以下属性
属性 | 类型 | 描述 |
---|
invocationType | string (可选) | 指定调用类型(同步或异步)。可能的值有:RequestResponse ,同步调用函数;Event ,异步调用函数;以及 DryRun ,验证参数值并验证用户或角色是否具有调用函数的权限。默认为 RequestResponse 。 |
logType | string (可选) | 指定响应中包含的日志类型。设置为 Tail 以在响应中包含执行日志。仅适用于同步调用的函数。默认为 None 。 |
clientContext | string (可选) | 传递给函数的客户端上下文。可包含最多 3,583 字节的 base64 编码数据。默认为 null 。 |
qualifier | string (可选) | 要调用的函数的版本或别名。 |
返回值
InvocationResponse
InvocationResponse 是表示调用响应的对象。它具有以下属性
属性 | 类型 | 描述 |
---|
statusCode | number | 调用的状态码。 |
executedVersion | string (可选) | 执行的函数版本。 |
logResult | string (可选) | 调用的日志结果。 |
payload | string (可选) | 函数返回的 Payload。 |
示例
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,
});
}