m_shige1979のささやかな抵抗と欲望の日々

プログラムの勉強をしながら学習したことや経験したことをぼそぼそと書いていきます

Github(変なおっさんの顔でるので気をつけてね)

https://github.com/mshige1979

AWSで一定期間ごとにLambdaを実行する

AWS上から一定間隔でイベントを処理したい

やること

  1. Lambdaファンクションを作成
  2. トリガーに「Amazon EventBridge」を連携
  3. ルールを追加 終わり

手順

Lambdaを新規に作成

サンプルコードを実装

index.js

exports.handler = async (event) => {
    // パラメータを取得
    const result = {
        event: event,
    };
    // debuglog
    console.log(`debug: `, JSON.stringify(result, null, 2));
    return result;
};

トリガーを追加&ルールを追加

※cronは以下に修正

cron(*/5 * * * ? *)

ルールの追加設定を行う

ルールの設定画面へ移動

編集ボタンを押下

ログを確認

2022-05-02T12:25:29.677Z ce5e87e3-0604-4e0f-b33e-763e2c3cc4f9    INFO    debug:  {
    "event": {
        "event": {
            "message": "Test",
            "detail": "5分おき実行"
        }
    }
}

こんな感じ

参考

チュートリアル: CloudWatch Events を使用して AWS Lambda 関数をスケジュールする - Amazon CloudWatch Events

Amazon CloudWatch Events で AWS Lambda を定期実行する際に任意の入力パラメータを渡す - Qiita