Lambdaから別のLambdaを呼び出す(node.js v16) – AWS SDK for JavaScript v3
aws sdk for javascript v3で、lambdaからlambdaを呼びだします。
Lambdaは稀にリトライします。これはLambdaが保証しているのは最低1回実行することであって、1回しか実行しないことは保証されていません。ですので、lambdaからlambdaを呼び出すのは本来よろしくない設計です。step functionなどを検討すべきです。
プロジェクト作成
npm init -y npm i @aws-sdk/client-lambda touch index.js
package.jsonに以下1行追加してください。
"type": "module",
Lambda(node.js v16)
test-lambdaという名前のLambdaを呼び出す例です。
FunctionNameの指定方法はLambda名、FunctionARN、PartialARNのいずれかを指定します。
他にもInvocationType(省略時はRequestResponse)などのオプションがあります。
index.js
import {
LambdaClient,
InvokeCommand
} from '@aws-sdk/client-lambda'
export async function handler() {
const client = new LambdaClient({
region: "ap-northeast-1",
});
const command = new InvokeCommand({
FunctionName: 'test-lambda' // Lambda関数名
});
const result = await client.send(command);
console.log(result)
const response = {
statusCode: 200,
body: 'Hello World'
}
return response
};
IAM
AWSLambdaRoleをアタッチします。
参考サイト
AWS SDK for JavaScript v3
API Reference
AWS SDK for JavaScript v3
API Reference

KHI入社して退社。今はCONFRAGEで正社員です。関西で140-170/80~120万から受け付けております^^
得意技はJS(ES20xx),Java,AWSの大体のリソースです
コメントはやさしくお願いいたします^^
座右の銘は、「狭き門より入れ」「願わくは、我に七難八苦を与えたまえ」です^^


コメント