LoginSignup
28
20

More than 3 years have passed since last update.

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

Last updated at Posted at 2019-09-03

概要

  • Amazon CloudWatch Events で AWS Lambda を定期実行する際に任意の入力パラメータを指定する
  • パラメータがどのように渡されてきているかログに出力して確認する

確認用ソースコード

AWS Lambda 関数に入力するソースコード。
ランタイムは Node.js 10.x を使用する。

exports.handler = async (event, context) => {
    // CloudWatch Events Message Event オブジェクトを event にセット
    const result = {
        event: event,
    };
    // 結果を Amazon CloudWatch Logs に出力する
    console.log(JSON.stringify(result, null, 2));
    return result;
};

AWS Lambda 関数の管理画面からトリガーを追加する際には任意の入力パラメータを設定できない

AWS Lambda 関数の Designer からトリガーを追加する際には、関数に渡す任意の入力パラメータを設定することはできない。

cloudwatch-events-2.png

cloudwatch-events-1.png

任意のパラメータを設定していないトリガーから実行した結果を Amazon CloudWatch Logs にて確認すると、以下のような CloudWatch Events Message Event オブジェクトが出力されている。

{
    "event": {
        "version": "0",
        "id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
        "detail-type": "Scheduled Event",
        "source": "aws.events",
        "account": "XXXXXXXXXXXX",
        "time": "2019-09-03T13:24:00Z",
        "region": "ap-northeast-1",
        "resources": [
            "arn:aws:events:ap-northeast-1:XXXXXXXXXXXX:rule/my-foo-bar-every-minutes"
        ],
        "detail": {}
    }
}

Amazon CloudWatch コンソールから追加・編集時に任意の入力パラメータを設定できる

CloudWatch Management Console からイベントを作成または編集するときには任意の入力パラメータ 「定数 (JSON テキスト)」 を指定することができる。

cloudwatch-events-3.png

実行結果を Amazon CloudWatch Logs にて確認すると、設定した JSON が CloudWatch Events Message Event オブジェクトとして出力されているのがわかる。

{
    "event": {
        "message": "Hello",
        "detail": "2分おき実行"
    }
}

参考資料

28
20
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
28
20