[Node.js] Lambda を起動する (AWS SDK for JavaScript v3)
作成日: 2022年08月07日
@aws-sdk/client-lambda
モジュールの LambdaClient
と InvokeCommand
を組み合わせることで、任意の Lambda 関数を起動することができます。Lambda 関数 dummy-function-name
を RequestResponse (同期的) に実行しています。
const { LambdaClient, InvokeCommand } = require("@aws-sdk/client-lambda");
async function main() {
const lambdaClient = new LambdaClient({ region: "ap-northeast-1" });
const invokeCommand = new InvokeCommand({
FunctionName: "dummy-function-name",
InvocationType: "RequestResponse",
});
const response = await lambdaClient.send(invokeCommand);
console.log(response);
}
main();
実行結果は下記のとおりです。
{
'$metadata': {
httpStatusCode: 200,
requestId: '5d1de5a9-a3f3-4ac7-9966-8f820f717b0c',
extendedRequestId: undefined,
cfId: undefined,
attempts: 1,
totalRetryDelay: 0
},
ExecutedVersion: '$LATEST',
Payload: Uint8Array(13) [
34, 72, 101, 108, 108,
111, 32, 87, 111, 114,
108, 100, 34
],
StatusCode: 200
}
Payload の部分を、new TextDecoder().decode(response.Payload)
のように文字列型に変換すると下記のようになります。
"Hello World"