ヤマムギ

growing hard days.

*

LINE Bot APIのファーストステップをLambda+API Gatewayでやってみたらものすごく簡単で驚いた

   

トライアル当初はホワイトリストのしばりや、初回反応するまで時間がかかったりとみなさん困っていたようですが、遅ればせながらやってみると色々解消されているようで、すさまじく簡単に、Botのハローワールド、Lチカともいえるオウム返しが確認出来ましたので一応メモ。

本記事の情報は2016/8/14時点のものです。

line-lambda

Lambda(Python)のコード

GitHubはこちらです。

Headersの各値

LINE Developersのアカウント画面からコピペします。

  • X-Line-ChannelID : チャンネルID
  • X-Line-ChannelSecret : チャンネルシークレットキー
  • X-Line-Trusted-User-With-ACL : チャンネルMID

bot宛に送信されたメッセージをevent[‘result’][0]で取得してます。
textにメッセージ内容とfrom_idにLINEのIDを取得してます。

  • to : 150ユーザーが上限の配列
  • toChannel : 1383378250が共通固定値
  • eventType : ‘138311608800106203’が共通固定値
  • contentType : 1 Text,2 Image,3 Video,4 Audio,7 Location
  • toType : 1 toUserそれ以外は不明

LambdaとAPI Gatewayの設定

何も特別な事はいりません。

上記のコードをrequestsモジュールとまとめていつものようにzipをアップロードするだけです。

API Gatewayもレスポンスやリクエストの設定は何も変更していません。

LINE側の設定

Callbak URLにAPI GatewayのエンドポイントURLを指定します。

が、そのままではセキュリティがだめ、って怒られるので、ポート番号443をつけます。

具体的には、「amazonaws.com」を「amazonaws.com:443」ってします。

これだけでオウム返しが出来ました。

この先は送信されたメッセージをどう扱うか、
どういった内容を送信するか、
コーディングしてけばいいと思います。


最後までお読みいただきましてありがとうございました!

「AWS認定資格試験テキスト&問題集 AWS認定ソリューションアーキテクト - プロフェッショナル 改訂第2版」という本を書きました。

「AWS認定資格試験テキスト AWS認定クラウドプラクティショナー 改訂第3版」という本を書きました。

「AWS認定資格試験テキスト AWS認定AIプラクティショナー」という本を書きました。

「ポケットスタディ AWS認定 デベロッパーアソシエイト [DVA-C02対応] 」という本を書きました。

「要点整理から攻略するAWS認定ソリューションアーキテクト-アソシエイト」という本を書きました。

「AWSではじめるLinux入門ガイド」という本を書きました。

 - AWS , , , ,

  関連記事

Amazon Linux2のCloud9でPython CDKのモジュールインストール

AMIがCloud9AmazonLinux2-2021-02-02T16-48の …

Cloud9でCodeWhispererを使用する

アクセス権限 Cloud9のEC2に設定するIAMロールのIAMポリシーで co …

プライベートサブネットのEC2でセッションマネージャを使うようVPCエンドポイントを構成する

インターネットゲートウェイへのルートがないルートテーブルに関連付けられたプライベ …

cfn-signalの認証とネットワーク

AWS CloudFormationヘルパースクリプトのcfn-signalがC …

執筆環境(PyCharm, CodeCommit, CodePipeline, S3, Lambda, 署名付きURL)

2018年から、年に1回ぐらい商業本の執筆をさせていただいております。 2020 …

AWSエンコードされたエラーメッセージをデコードするコマンドのメモ

Stdout: couldn’t create ENI: Unaut …

EC2とRDSのMySQLを他のAWSアカウントへ移設する

他のAWSアカウントへシステムごと移設した場合の手順です。 構成はEC2とRDS …

Cloud9環境を共有した際の環境認証

Cloud9を環境を構築したIAMユーザー以外に共有したとき、その環境から実行す …

AWS Application Discovery Serviceのエージェントを実行

本来はオンプレミスのサーバーにエージェントをインストールして、自動でアプリケーシ …

AWS Transit GatewayをResource Access Managerで他アカウントと共有

AWS Transit Gatewayを他アカウントに共有しました。 画面画像で …