1. はじめに
Alexaスキルを、コマンドラインツール(ASK CLI)を用いて開発する際、2018年12月まではデプロイ先のAWS Lambdaリージョンがデフォルトで「バージニアリージョン」となっており、「東京リージョン」にデプロイ出来ないことが多くの開発者の悩みのたねとなっていました。
この度、2019年1月のASK CLIバージョンアップ(v1.5.3以降)から、ask deployコマンド実行時のAWS Lambdaリージョンのデプロイ先を指定することができましたので、設定方法をお伝えします。
1-1. この記事を読んでできること
- ASK CLIコマンド(ask deployコマンド)でのデプロイ先のAWS Lambdaリージョンを指定できるようになる。
1-2. 前提条件
- AWS CLIコマンドがセットアップされていること。
- ASK CLIコマンドがセットアップされていること。
- ASK CLIコマンドを利用したAlexaスキル開発(ask new、ask deploy)を理解していること。
1-3. 注意事項
- 既にデプロイ済みのAlexaスキルの場合は適用されません。
新規にAlexaスキルを作成(ask new)し、初回のデプロイ時(ask deploy)に指定したAWS Lambdaリージョンにデプロイされます。
今回の手順では、ask newコマンドの直後にask deployを実行すると、Alexaスキルが英語(en-US)、AWS Lambdaが「東京リージョン」にデプロイされます。Alexaスキルを日本語(ja-JP)としてデプロイしたい場合は、ask deployコマンド実行の前に、以下のQiita記事をご参考のうえ、Alexaスキルの日本語化をおこなってください。
2. 設定方法
- aws cliの設定ファイルを編集し、デプロイ先のリージョンを設定する。
- ファイルは、~/.aws/config (Linux, macOS, or Unix の場合) または C:\Users\USERNAME.aws\config (Windows の場合) にあります。
Ubuntuコマンドライン
#askコマンドのバージョン確認
$ ask --version
1.5.4
#askコマンドのバージョンアップ(バージョンが1.5.2以前の場合のみ実行)
$ sudo npm update -g ask-cli
#設定ファイルのあるディレクトリ移動
$ cd ~/.aws
#設定ファイルを編集&保存する
#regionの設定値によりデプロイ先リージョンを設定
$ vi config
[default]
region=ap-northeast-1
output=json
3. ASK CLIでデプロイ
Ubuntuコマンドライン
#コマンドによるAlexaスキルの作成
$ ask new
? Please select the runtime Node.js V8
? List of templates you can choose Hello World
? Please type in your skill name: skill-sample-nodejs-hello-world
Skill "skill-sample-nodejs-hello-world" has been created based on the chosen template
#作成したAlexaスキルフォルダ(任意)に移動
$ cd skill-sample-nodejs-hello-world
#Alexaスキルを英語(en-US)ではなく日本語(ja-JP)としてデプロイしたい場合は、
#このタイミングでAlexaスキルの日本語化を済ませてください。
#コマンドによるAlexaスキルのデプロイ
#(configファイルに設定したリージョン(region)にデプロイされます)
$ ask deploy
4. おわりに
いかがだったでしょうか?ご参考になりましたでしょうか?
もしかしたら間違ってるよ、とかありましたら、コメント頂けると幸いです。
2019/01/13 TAKAHIRO NISHIZONO