AWSの英語RSSをAmazon Translateで翻訳してSlack通知し、re:Invent2022のアップデートラッシュに備えるBotを作成しました #reInvent
こんにちは。CX事業本部Delivery部のきんじょーです。
いよいよ今年もre:Invent 2022が開催されますね。
これまではオンライン参加のみでした、今年は初めて現地参加となり、期待に胸を膨らませています。
クラスメソッド社内には、AWSのWhat's Newや、AWS BlogsのRSSからSlackへ通知するチャンネルがあります。 re:Inventのシーズンが近づくにつれ、What's NewやAWS Blogsの更新頻度が増え、キャッチアップを効率化したくなりました。
上記RSSから英語で通知される情報を、日本語翻訳してSlack通知するLambdaを作成したので、この記事で公開します。
先にまとめ
AWSのRSSを日本語訳してSlack通知するLambdaは以下のリポジトリに格納してあります。
SlackのWebhook URLを発行し、パラメーターストアに設定すればcdk deploy
でデプロイできます。
アップデートをいち早くキャッチアップしたい方は是非お試しください。
実装してみた
アップデートを検知するRSSフィード
以下のブログを参考に、34本のAWS Blogsと、AWSの最新情報ページ(What's New)のRSSフィードをポーリングしています。
翻訳サービスはAmazon Translateが最安
英語を日本語翻訳するにあたり以下のサービスを検討し、料金の観点だとAmazon Translateが最安でした。 コストの観点と、構成管理上でもAWSで完結した方が扱いやすかったので、英語→日本語の翻訳にAWS Translateを使用しました。
サービス | 料金 | 料金(1万文字あたり) |
---|---|---|
AWS Translate | ・利用開始後12ヶ月間は200万文字/月まで無料 ・それ以降、100万文字あたり15USD |
21円/1万文字 |
DeepL | ・無料プランは50万文字/月まで無料 ・それ以降、100万文字あたり2500円 |
25円/1万文字 |
Cloud Translation(Google Cloud) | ・50万文字/月まで無料 ・それ以降、100万文字あたり20USD ※10 億文字を超える場合要相談 |
29円/1万文字 |
できたもの
こちらのリポジトリ(joe-king-sh/rss-feed-translater)に格納してあります。
20分間隔でEvent BridgeでLambdaを起動し、RSSをポーリングします。
指定した閾値の範囲でRSSに更新があった場合、AWS Translateで日本語訳し、Webhookでslack通知します。
英語で配信される AWS Blogs のRSSが、以下のように日本語訳されSlack通知がきます。
翻訳前 | 翻訳後 |
---|---|
re:Inventのアップデートラッシュに備えましょう!
昨年度はre:Invent開催期間中の5日間で82本のAWS Blogsが公開されており、予選落ちを含むとさらに多くの本数になります。
ヘッドラインや概要だけでも日本語されていれば、興味のある内容か判断がつきやすいのでSlackBotを作成してみました。 AWS BlogsやWhat`s Newから、注目のアップデートを見逃したくない方は、是非使ってみてください!
CX事業本部Delivery部のきんじょーでした。