ヤマムギ

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」ってします。

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

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


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

【PR】 「AWS認定試験対策 AWS クラウドプラクティショナー」という本を書きました。

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

【PR】 「ポケットスタディ AWS認定 デベロッパーアソシエイト」という本を書きました。

 - AWS , , , ,

ad

ad

  関連記事

Amazon EC2(Amazon Linux 2)にRedmine3.4をインストール

久しぶりに新しい環境でRedmineを構築したくなり、せっかくなのでAmazon …

AWS LambdaでChrome HeadlessドライバをAWS Lambda Layersから使う

この記事はSelenium/Appium Advent Calendar 201 …

CloudFormationスタックポリシーでスタック更新を防止する

CloudFormationのスタックにスタックポリシーを設定することによって、 …

「re:CAP ~サーバーワークス re:Invent 2018 報告会~」でre:Invent2018について思われたことを聞かせていただいた

サーバーワークスさんのre:Invent re:CAPにおじゃましました。 re …

Amazon EMR 「Hadoop を使用してビッグデータを分析」チュートリアルをやってみました

AWS認定データアナリティクス受験準備の一環で、Amazon EMRのチュートリ …

EC2スケジュールリザーブドインスタンスって終わりましたん?

ユーザーガイドのScheduled Reserved Instancesを見ると …

AWS Service CatalogポートフォリオをOrganizations組織で共有する

AWS Service Catalogチュートリアルで作成したポートフォリオのO …

Amazon S3オブエジェクトへのリクエストをCloudTrail, Athenaで識別

こちらCloudTrail を使用した Amazon S3 リクエストの識別に書 …

AWS Network Firewallの入門

公式のGetting started with AWS Network Fire …

AWS EC2 でインスタンスにIPアドレスを紐付ける

AWS EC2で作ったサーバは何もしなければ起動するたびにIPアドレスが変わって …