学習時間 | 8時間 |
---|---|
難易度 | 初級 |
質問投稿 | 可 |
【Ruby × GAS × AWS Lambda】毎朝、自動でテレビ会議と担当者を教えてくれるBotを作ろう!
RubyとGASを使い、Zoom会議作成Botの作成。教材内では、Zoom APIやWebhookを用いたSlack通知だけでなく、AWS Lambda, CloudWatch Eventsを用いたサーバーレス開発についても学ぶ。リファクタリングの章では、著者が実務で苦労したことをもとに解説。
Rubyを学習したけど「作りたいものが見つからない」という方にオススメ
本教材では、Zoom API、Google Apps Script(GAS)、Webhook を使い、Zoom会議の作成、及び会議担当者の名前をSlackに通知するBotの開発について解説します。
さらに、AWS Lambda や CloudWatch Events などAWSサービスを使い定期処理をサーバレスで行っているので、流行りのサーバレスアプリケーションに興味がある方にもオススメです。
教材の終盤では、リファクタリングの章を設けており、クラスやメソッドをどのように分けていくか?など、著者が実務経験で苦労したことを中心に、一緒に考えながらコードを見直していきます。そのため、オブジェクト指向の理解も深まり、Rubyの復習にもオススメです。
作成するアプリケーションのイメージをつかもう
本教材の作成後のイメージは以下のようになります。
決まった時刻(ここだと10時28分)にSlackにZoomのURLと当日の会議担当者を送ります。
ユーザーは毎回Zoom会議を作成する必要はなく、URLをクリックするだけで簡単にZoomに参加できます。
では、本サービスの構成を紹介します。
今回は、以下の処理を実行して決まった日時に会議を設定し、SlackにZoomの会議URLと当日の会議担当者の名前を送ります。
- CloudWatch Eventsによる定期処理をトリガにAWS Lambdaを動かします。
- Rubyで書いたAWS Lambdaのコードから、Zoom APIを叩きZoomを予約します。
- AWS Lambdaのコードから、GASを叩き当日の会議担当者を取得します。
- Slackに予約したZoomのURLと、当日の会議担当者を通知します。
学習内容
- Zoom APIを用いたZoom会議の予約
- Google Apps Script(GAS)で会議担当者を取得
- Webhookを使ったSlack通知
- リファクタリングを通して変更に強いRubyコードを書く方法
- AWS Lambdaを使ったサーバレス開発
- CloudWatch Eventsでの定期処理実行
この教材の対象者
- Rubyを使ってAPIとのやり取りを体験したい方
- 変更に強いRubyコードを書きたい方(リファクタリング)
- AWS LambdaやCloudWatch EventsなどAWSサービスを試してみたい方
- サーバレスアプリケーションに興味がある方
- GASを触ってみたい方
受講における必要条件
- Rubyの基礎知識
Rubyを一度も触ったことがない方は、まずはProgate等で学習することをおすすめします。
学ばないこと
RubyとGASを用いた開発なので、Railsに関しては一切学びません。
本教材の対応バージョン
- Ruby2.7系
AWS LambdaによるRubyの対象バージョンの最新版が2.7.0なので、本教材でも2.7.0を使用します。
本教材で質問対応可能なOSや環境
- Mac OS
本教材の構成について
0章 はじめに
本教材を進める上での環境を整えたり、設計を解説していきます。
1章 Zoom APIで会議室を予約する
Zoom APIとは?また、Zoom APIを使って実際に会議室を予約してみます。
2章 Google Apps Script(GAS)を作成する
GASを書いてみたり、GASを実際にRubyのコードから呼んでみたりします。
3章 Slackに通知してみる
1章と2章で受け取った値をSlackに送れるように実装します。
4章 リファクタリングをしてみる
オブジェクト指向に沿って、クラスを分けたり、メソッドを分割してみて可読性の高いコードを作っていきます。
5章 lambdaを使用してみる
lambdaを使ってサーバーレスでRubyのコードを実行してみます。
6章 CloudWatch Eventsを使い定期処理をしてみる
CloudWatch Eventsを使って、lambdaを実際に動かしてみます。
カリキュラム
- 2-1 GASとは何か?
- 2-2 スプレッドシート側の設定をしてみよう
- 2-3 GASを書いてみよう
- 2-4 GASをAPIとして公開してみる
- 2-5 作成したGASを外部から呼んでみよう