@mcma/aws-lambda-worker-invoker
Version:
Node module with code for invoking MCMA workers running as Lambda functions, via the AWS SDK
26 lines (25 loc) • 1.02 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.LambdaWorkerInvoker = void 0;
const client_lambda_1 = require("@aws-sdk/client-lambda");
const worker_invoker_1 = require("@mcma/worker-invoker");
class LambdaWorkerInvoker extends worker_invoker_1.WorkerInvoker {
lambdaClient;
constructor(lambdaClient = new client_lambda_1.LambdaClient({ apiVersion: "2015-03-31" })) {
super();
this.lambdaClient = lambdaClient;
}
async invokeWorker(workerFunctionId, workerRequest) {
await this.lambdaClient.send(new client_lambda_1.InvokeCommand({
FunctionName: workerFunctionId,
InvocationType: "Event",
LogType: "None",
Payload: new TextEncoder().encode(JSON.stringify({
operationName: workerRequest.operationName,
input: workerRequest.input,
tracker: workerRequest.tracker,
}))
}));
}
}
exports.LambdaWorkerInvoker = LambdaWorkerInvoker;