まず、AWS CDKをインストールし、プロジェクトをセットアップします。次に、CDKアプリケーション内でLambda関数を定義します。以下は、TypeScriptを使用したCDKアプリケーションの例です。
import * as cdk from 'aws-cdk-lib';
import * as lambda from 'aws-cdk-lib/aws-lambda';
import * as events from 'aws-cdk-lib/aws-events';
import * as targets from 'aws-cdk-lib/aws-events-targets';
const app = new cdk.App();
const stack = new cdk.Stack(app, 'MyStack');
// Lambda関数を定義
const myFunction = new lambda.Function(stack, 'MyFunction', {
code: lambda.Code.fromAsset('path/to/code'),
handler: 'index.handler',
runtime: lambda.Runtime.NODEJS_14_X
});
// EventBridgeルールを定義し、Lambda関数をトリガーとして設定
const rule = new events.Rule(stack, 'MyRule', {
eventPattern: {
source: ['my-event-source'],
detailType: ['my-event-type']
}
});
rule.addTarget(new targets.LambdaFunction(myFunction));
app.synth();
上記の例では、CDKアプリケーション内でLambda関数を定義し、EventBridgeルールを作成しています。EventBridgeルールのeventPattern
には、トリガー条件を指定します。この例では、my-event-source
とmy-event-type
にマッチするイベントが発生した場合にLambda関数がトリガーされます。
このコードをデプロイするには、CDKコマンドを使用します。以下のコマンドを実行して、CDKアプリケーションをデプロイします。
cdk deploy
以上で、AWS CDKを使用してLambda関数をEventBridgeのトリガーとして設定する手順が完了です。これにより、特定のイベントが発生した際にLambda関数が自動的に実行されるようになります。
この記事では、AWS CDKを使用してLambda関数をEventBridgeトリガーとして設定する方法を説明しました。これにより、サーバーレスアプリケーションの開発をシンプルかつ効率的に行うことができます。詳細な情報については、AWS CDKの公式ドキュメントを参照してください。