エラー状況
Test Event Name (unsaved) test_linebot_push_message Response { "errorMessage": "unknown keywords: :event, :context", "errorType": "Function<ArgumentError>", "stackTrace": [ "/var/task/send_iamhome.rb:7:in `handler'" ] } Function Logs START RequestId: xxxxxxxxxxxxxxxxxxxxxxxxx Version: $LATEST Error raised from handler method { "errorMessage": "unknown keywords: :event, :context", "errorType": "Function<ArgumentError>", "stackTrace": [ "/var/task/send_iamhome.rb:7:in `handler'" ] }
コード
require 'line/bot' CHANNEL_ACCESS_TOKEN = ENV["CHANNEL_ACCESS_TOKEN"] CHANNEL_SECRET = ENV["CHANNEL_SECRET"] TO = ENV["TO"] def handler(event:, context:) message = { type: 'text', text: 'Hello World' } client = Line::Bot::Client.new { |config| config.channel_token = CHANNEL_ACCESS_TOKEN config.channel_secret = CHANNEL_SECRET } response = client.push_message(TO, message) p response end
テストコード
{ "device": { "type": "button", "deviceId": "xxxxxxxxxxxxxxx", "attributes": { "projectRegion": "ap-northeast-1", "projectName": "soracom-lte-m-button-for-linebot", "placementName": "linebot-lamda-trigger", "deviceTemplateName": "linebot-lamda-trigger" }, "deviceArn": "arn:aws:iot1click:us-west-2:998734314217:devices/xxxxxxxxxx" }, "stdEvent": { "clickType": "SINGLE", "reportedTime": "2021-11-27T15:24:23.516Z", "certificateId": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", "remainingLife": 96.71996448798221, "testMode": false } }
実現したいこと
自分宛にlambdaからLineMessagingAPIを使ってプッシュメッセージを送信したい
分からないこと
handler(event:, context:)
のevent:, context:
の意味
状況
ローカル環境でdef handler
の部分を除いて上記開発コードをターミナルで実行した場合はきちんと自分宛にプッシュメッセージを送信することができています。
しかし、コードをzip化してLambdaにアップロードし、ランタイム設定と呼び出される関数名の名称を合わせのち、上記テストを実行したところ、エラーが発生しています。
Lambda関数のトリガーについてはAWS-1clickを使用しており、イベントに表示されるコードをそのままコピペしてテストを実行しています。
handler(event:, context:)
のevent:, context:
の意味が理解できておらず、ご助言いただけたいです。
よろしくお願いいたします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。