TiNm’S Alexa Skill をローンチしました。

Spread the love

このサイトの最新情報をAmazon Echoシリーズに 配信する Flash Briefing スキルをローンチしました。

 

 

 

 

スキルページへのリンクはこちら

はじめに

スキルというのは、Amazon の提供する音声AIアシスタント Amazon Echo, Amazon Echo dot, などで利用できるアプリのようなものです。

Amazon Echo 上でこのスキルを有効にすると、このサイトの最新の記事を英語で読み上げてくれます。

デモ動画はこちら

このスキルは何をするか?

blog.tinms.net の最新記事 1件をAmazon Echo や、Echo dotなど、で聞くことができます。(英語です。)

このスキルのバックエンドを少しだけ説明したいと思います。

このスキルの特徴

自動翻訳

私は日本人なので、基本ブログは日本語で書きます。はい。そうですよ。英語勉強しろよってことですよ。わかってますよそんなことわ。とはいえ、英語で調べながらっていうのは、やはり時間がかかるので、最初に日本語で書いてあとから英語でちゃんと書こう、と思って翻訳できてない記事がやまほどあるわけです。このスキルでは、日本語で書いた記事は、google translate api 翻訳しています。

静的サイトのRSSフィード

配信元である blog.tinms.net は、WordPressshifter で静的サイトとして書き出しています。WordPress には、デフォルトでRSS feed を生成してくれる機能がありますが、shifter は静的サイトにかき出したあとも、ページトップのRSS フィード URL (example.com/feed/) にはアクセスできます。このスキルでは、この機能を利用して、RSS フィードにアクセスし、サイトの最新情報を取得します。

翻訳のキャッシング

google translate api 利用料金は、20ドル/月/100万文字 です。1000文字のブログを100回アクセスして、2ドルみたいな感じです。(ちなみに、直近の日本語で書いた投稿が、2420文字でした。)うん。相当な人気が出ない限りは大丈夫そうな感じです。早よ人気でろ!!

とはいえ、いつ人気者になるかわからないのでw、もしものときのキャッシングを入れておくことにしました。翻訳済みの記事はキャッシングして配信されるようになっています。キャッシングには、DynamoDB を使っています。

Serverless

このスキルのバックエンドはサーバーレスです。すべてAWS で構築しています。API Gateway, Lambda, DynamoDB をシンプルに組み合わせて構築しています。コード行数は120行程度です。(Python)

 

と、このような感じで、スキルのバックエンドを少しだけ解説してみました。

100行そこそこのプログラムコードで、Alexa Skill がローンチできるって、素敵ですね。