Amazon CloudWatch Events에서 AWS Lambda를 정기적으로 실행할 때 임의의 입력 파라미터 전달

개요


  • 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에서 트리거를 추가할 때 함수에 전달할 입력 파라미터를 설정할 수 없습니다.





    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 텍스트)」를 지정할 수가 있다.



    Amazon CloudWatch Logs에서 실행 결과를 확인하면 구성된 JSON이 CloudWatch Events Message Event 객체로 출력되는 것을 볼 수 있습니다.
    {
        "event": {
            "message": "Hello",
            "detail": "2分おき実行"
        }
    }
    

    참고 자료


  • CloudWatch 이벤트의 이벤트 패턴 - Amazon CloudWatch Events
  • Node.js의 AWS Lambda 함수 핸들러 - AWS Lambda
  • AWS CloudWach Events 런타임에 유용한 Configure input | DevelopersIO
  • 좋은 웹페이지 즐겨찾기