34

サーバーレスに Lambda をデプロイして、1 時間ごとに呼び出す Cron スケジュールで実行しようとしています。呼び出されたときに、デプロイ時のデフォルトの入力である Cron イベントからの情報ではなく、独自の JSON 入力によって Lambda 内のイベントを設定したいと考えています。

AWS コンソール内で、必要な結果を得るために、手動で Lambda の Cron トリガーに移動し、入力を「一致したイベント」から「定数 (JSON テキスト)」に変更できます。Serverless は Lambda のデプロイ中にこのルールを作成するため、serverless.yml ファイルの構成を使用して入力を変更する方法が必要だと思います。サーバーレスのドキュメントを検索しているときに何も見つけることができなかったので、現在の状態のサーバーレスでこれが可能かどうか、また可能であればどうすればよいか疑問に思っています。

アドバイスをいただければ幸いです。

編集: この機能を追加する必要がある更新がありましたが、サーバーレス 1.3.0 を使用して JSON を使用したスケジュールでデプロイできませんでした (1.2.0 でもテストしました)。私が使用した serverless.yml の例を以下に示します。

functions:
  test:
    handler: test.test
    description: "test serverless Lambda"
    memorySize: 128
    timeout: 300
    events:
      - schedule:
        rate: rate(10 minutes)
        input:
          key: value
      - schedule:
        rate: rate(10 minutes)
        input: '{"key": "value"}'
      - schedule:
        rate: rate(10 minutes)
        input:
          key: 'value'

1.3.0 の時点でのサーバーレスでのこの機能の状態と、上記の serverless.yml が正常に見えるかどうかについてコメントできる人はいますか?

編集 2: 作業中の serverless.yml を投稿する

functions:
  test:
    handler: test.test
    description: "test serverless Lambda"
    memorySize: 128
    timeout: 300
    events:
      - schedule:
          rate: rate(10 minutes)
          enabled: true
          input:
            key: value
      - schedule:
          rate: rate(10 minutes)
          input: '{"key": "value"}'
          enabled: true
      - schedule:
          rate: rate(10 minutes)
          input:
            key: 'value'
          enabled: true
4

1 に答える 1