serverless.yml
で input
を定義することで、スケジュール実行に任意の引数を渡すことができます
# serverless.yml
events:
- schedule:
rate: rate(10 minutes)
enabled: false
input:
sampleKey: sampleValue # Lambda に渡したい値
JavaScript の場合、handler からは以下のように値を取得することができます
// handler.ts
module.exports.hello = async event => {
const { sampleKey } = event; // serverless.yml に定義した値を取得
};
input
指定の詳細は Serverless Framework | Schedule を参照してください
sls invoke local
では↑で定義した値は渡されない
-
sls invoke local
で実行する場合serverless.yml
で定義したinput
は渡されないようです - 実装をテストしたい場合は下記コマンドを実行すると event に指定の値を渡すことができます
npx sls invoke local -f functionName --data '{"sampleKey": "sampleValue"}'
invoke local
のパラメータ詳細は Serverless Framework | AWS - Invoke Local を参照してください。