LambdaでGoogleHangoutsChatにメッセージを送る
https://dev.classmethod.jp/cloud/aws/google-hangouts-chat-integration-with-aws-lambda/dev.classmethod.jp
ここにあるソースコードの通りで動く。
なのでソースコード部分に関しては上記のリンクを観た方が早い。
ただLambdaド素人の自分はソースコードだけでは動かず右往左往。
要点としては
・自分で環境を整えて利用するライブラリをソースコードに包括しておく
・ファイルをzip形式で圧縮してLambdaにアップロードする
この2点が理解出来ればLambdaでの自動化の部分が身近になってくると思う。
自分で環境を整える
何が言いたいかと言うと、上記のリンクだとrequestsで必要なファイルを実際に送信するソースコードと一緒にアップする必要があると言うところ。
$pip3.6 install requests -t.
requestsの後ろの -t.が必要で、現在のディレクトリにライブラリ実体をファイルとして利用できるようにする。と。
zipで上げる
整えた環境のディレクトリをPCに一旦保存した後にzipに圧縮する際の注意として、ダウンロードしてきたディレクトリを圧縮すると
lambdaにアップロード後、ディレクトリが親ディレクトリとなってしまう。
[ プロジェクト名 ]
└[圧縮したディレクトリ]
├ファイル1
├ファイル2
├ファイル3
と言う事になってしまう。圧縮したディレクトリが邪魔。
なので、ファイル全体を選択して圧縮をすること。
あとはソースコードが正しく書けていれば動作確認が取れる。
ChatWorkにも送信事態は出来たが、GSuiteを使っているのでどちらにするか迷い中。
個人的にはWebhookが簡単につくれるhangoutChatの方が手間が掛からないなと。