プログラミング

プログラミング初心者のインフラ SEがalexaスキルを公開するまで

普段インフラエンジニアをしており、プログラミング経験はほぼありませが
4月下旬くらいから、開発をはじめたAlexaスキルを先日公開することができたので
公開までをまとめてみます。
公開までにはまったところは、AlexaSkillsハマったとこ備忘録(初心者向け)にまとめました。

Contents

なぜAlexaスキルを開発しようと思ったのか

一言で言うと勉強会で触発されました。
JAWS-UG 初心者支部#11 Alexa回!!!に参加してAlexaスキル開発が面白そうだったからです。
魅力を箇条書きで書くと、

  • Alexaスキル開発は、まだ人が少ないから希少
  • 「VUI(音声ユーザインターフェース)」て言葉かっこいい
  • VUIエンジニアって言う職業ができるかも(IOSエンジニア的な)
  • 簡単に作れる(プログラミングなしでも作れるツールがある)
  • Alexaスキルを公開すると、毎月AWSクレジットがもらえる(公開しているスキルで料金が発生すれば)

将来性があるし、簡単に作れるらしいからちょっとやってみよう的なノリです。
Echo持っていないかったので、その場でポチりました。(AmazonEcho 11980円)
Echo本体なくても、Echosim.ioを使えばテストできるのですが、
単純に便利ですし、モチベーション的にも買うのがおすすめです。

なんでAlexaスキルはLambdaなの

Lambdaは、AWSのサービスでサーバレスでコードを実行することができるサービスです。要は、サーバ部分はAWSが用意するからコードだけ書けばいいよと言うことです。
Alexaスキル開発では、バックエンドはLambdaが推奨されています。
理由としては、スマートスピーカのアプリとサーバレスは相性がよいと言うのがあげられると思います。
ユーザからの呼びかけがあった時にだけ、処理を実行すればよいのでリソースの無駄が少ないです。
バックエンドが、普通のサーバだとユーザが使っていない時間が無駄になってしまいます。
また、Lambdaの無料利用枠は100万リクエストあるので、だいたい無料利用枠の中に収まると思います

Lamdbaを使わずに、プログラム書かなくても作れる方法もあるみたいです。
[blogcard url=”https://dev.classmethod.jp/voice-assistant/create-alexa-custom-skill-with-storyline/”]

node.jsってはなんですか

Alexaスキルでは、node.jsのSDKがあり使うと簡単に作れます。
そもそも「node.jsってなんですか」状態だったので、調べるとこからはじめました。
[blogcard url=”https://techacademy.jp/magazine/16248″]

サーバサイドのJavaScript実行環境

らしいです。

文法はJavaScriptだとわかったので、ドットインストールでJavaScript,Node.jsやって概要把握しました。
[blogcard url=”https://dotinstall.com/lessons/basic_javascript_v2″]
[blogcard url=”https://dotinstall.com/lessons/basic_nodejs”]
ちょっとしたスキルを作る分には、Node.jsの詳細把握してなくても大丈夫だったので
Node.jsのレッスンはやらなくてもいいかもしれません。

実際にAlexaスキルを作ってみる

JavaScriptについて、概要を把握した後は実際にスキルを動かしてみました。
Alexaスキル開発トレーニングを一通りやると、スキル開発の基礎が身につきます。
[blogcard url=”https://developer.amazon.com/ja/alexa-skills-kit/training/building-a-skill”]

Alexaと紐づいているAmazon.co.jpのアカウントで、開発者コンソールにログインし開発すると
すぐに自分のEchoで試すことができます。

公開後にしたこと

AWSのプロモーションクレジットと、Tシャツキャンペーンに申し込みました。(2018/05/23)
AWSのプロモーションクレジットは、スキルを公開すると最初に100ドル分のクレジットが貰えるます。
その後は、無料利用枠を超えると毎月100ドル分のクレジットもらえます。Lambdaだけで超えることは、中々ないと思います。
DynamoDBを使っていれば超えるかもしれません。

所感

勉強会で聞いた通り簡単にできました。
トレーニングも充実していて、実際に手を動かしながら学べるのもよかったです。