こんにちは、俊介です!
Workato触ってますか?
今回も需要ありそうなシステムをWorkatoで実装しましたので書いていきます。
今回作ったものは?
はい、今回はZoomのレコーディングが出来たら、Boxにアップロードする動きです。
このシステムって結構需要あると思うんです。
「Zoomのレコーディングを1週間以上保管したいなあ」と。
- 手動でクラウドストレージに移動すればいいやん
- lambdaでコード書いて自動化させたらいいやん
やり方はそのほかにもあると思います。でも手動だと大変だし、コード書くのも、得意な人以外はこれも大変。
じゃあどうするか、iPaaSに任せましょう。ということでWorkatoで実装します。
動きの流れ
- Zoomにてレコーディングが出来たらトリガーが発火
- レコーディングの詳細を取得
- レコーディングをWoraktoに一時的保管
- Boxにレコーディングをアップロード
- アップロード後、Zoom側に残ってるデータは削除
動作イメージ
- カレンダーの予定
まずは、zoomを使っての打ち合わせをカレンダーに登録します。トリガー発火するための前準備ですね。
![](https://blog.cloudnative.co.jp/wp-content/uploads/2021/09/66bbc1e74cb8686060541844e8a6f9c6.png)
- Zoomの管理画面
ここは打ち合わせが終わって、レコーディングファイルを生成中の画面です。
ファイルが出来ると、Woraktoが動き出します。(動作イメージの1番が動きます)
![](https://blog.cloudnative.co.jp/wp-content/uploads/2021/09/89313d0f4c44b940a37f62421e06d3a5.png)
![](https://blog.cloudnative.co.jp/wp-content/uploads/2021/09/f2e631fbfc47e6b1d142dec8faca1db9.png)
- Boxの画面
これはレコーディングファイルがBoxに上がった後の画面です。動作イメージでいうと4番のところですね。
![](https://blog.cloudnative.co.jp/wp-content/uploads/2021/09/2__shunsuke___Powered_by_Box.png)
レシピの作り方
作る前に…
これ、すでにレシピ出来てるんです!!!
なので、すでに完成されてるレシピをインストールすれば8割できた状態で始めれます。
実装まで一瞬でできちゃいますね。
なぜかを簡単に説明するとWorkatoには、完成済のレシピを自由に選択してDLできるCommunity libraryなるものがあり、本件のレシピもそちらに共有されてます。Workato版Githubみたいなもんっすね。
レシピもたくさんあり、導入したらここを見てみるのもいい勉強になると思います。
注意点として使う際は、もちろん自社の環境に合わせて設定し直しててくださいね。レシピをインストールしたからと言ってそのままは使えません。
本ブログではここまでにしとき、本題にいきます。
レシピの全体像
全体はこんな感じです。
![](https://blog.cloudnative.co.jp/wp-content/uploads/2021/09/76f153afb3db1ffbc843a2c9fb30a268-1.png)
トリガー設定
Step1:レコーディングが出来たらトリガー発火するように設定する
- Action:「New event」
- Setup:
- Event category:「Cloud recording」
- Event:「Cloud recording completed」
![](https://blog.cloudnative.co.jp/wp-content/uploads/2021/09/dbf0bc8063f9db12afab113363db42b9.png)
アクション設定
Step2:レコーディングファイルをループ処理
- Step1のRecording filesを設定
- 複数ある場合を考慮して設定しています
![](https://blog.cloudnative.co.jp/wp-content/uploads/2021/09/89c76030561e379993204e7c784c43a9.png)
Step3:エラーハンドリングの設定
![](https://blog.cloudnative.co.jp/wp-content/uploads/2021/09/dc0cc845c9c55eed5377792f87f5c449.png)
Step4:Meeting IDからレコーディングの詳細を取得
- Acrion:Get object by ID
- Setup:
- Event:Cloud recording
- Meeting ID:Step2のループ処理してるMeeting IDを設定
![](https://blog.cloudnative.co.jp/wp-content/uploads/2021/09/a04cc7d142f634c2307828c1e8799868.png)
Step5:レコーディングファイルをWoraktoにDL
- Action:「Download cloud recording」
- Setup:
- Download URL:Step2のループ処理してるDownload URLを設定
- Download token:Step1のDownload tokenを設定
![](https://blog.cloudnative.co.jp/wp-content/uploads/2021/09/3e83227334e601440d2d3fb5fc90f89e.png)
Step6:Boxにファイルをアップロード
- Action:Upload file using file contents
- Setup:
- File contents:Step5のFile contentsを設定
- File size:Step5のFile sizeを設定
- Destination folder:どこに保管するか指定
- File name:なんでもいいので、ここではZoomのタイトルとしてStep5のTopicとMeeting IDを設定
![](https://blog.cloudnative.co.jp/wp-content/uploads/2021/09/2d9e630f841e53801f50cb4ce164a65a.png)
Step7:エラーハンドリングの監視終了の場所
- Step4 – Step6までのアクションを監視します
![](https://blog.cloudnative.co.jp/wp-content/uploads/2021/09/1d7fc972b0cbf844861de7e9aad76099.png)
Step8:エラーが起きた時のアクションを設定
- Action:Accumulate items to list
- Setup:
- List name:適当に名前を設定
- List item fields:
- Error:Step7のError typeを設定
- Details:Step7のError messageを設定
- Recording:Step2のIDを設定
![](https://blog.cloudnative.co.jp/wp-content/uploads/2021/09/d0ac0fed39a5968e52b0a0f353b935bb.png)
Step9:特定のチャンネルにエラーメッセージを通知させる
- Action:Post message
- Setup:
- Reply channel:飛ばしたいチャンネルを選択
- Notification text:飛ばしたい内容を設定
![](https://blog.cloudnative.co.jp/wp-content/uploads/2021/09/89c76030561e379993204e7c784c43a9-1.png)
Step10:Zoom内のレコーディングを削除
- Action:Delete object
- Setup:
- Event:Cloud meeting recording
- Meeting ID:Step2のループ処理してるMeeting IDを設定
- Action:trash
![](https://blog.cloudnative.co.jp/wp-content/uploads/2021/09/ab0982d0da60a6d186f8d9d3287e3bf9.png)
最後に
今回はZoomのレコーディングをBoxに保管させる動きを作ってみました。
Community libraryにもすでにありますので、実装まで1日かからないと思います!
※置いてあるレシピはこちらから飛べます。
もちろん下記の運用に変更も可能です。
- Box→Google DriveやAWS S3に変える
- アップロードしたら、Slackに通知させる
例えば弊社の環境で言うと、お客様との打ち合わせレコーディングは別の特定フォルダに保管させて、Slackにてお客さんにURLと一緒に通知させたりとかも需要ありそうですね。
ぜひ、Workatoをお持ちの方でZoomをご利用の方はやってみてください!
以上、ここまで読んでいただきありがとうございました。