ASK CLI v1からv2への移行ガイド
このガイドでは、ASK CLI v1とv2の違い、およびASK CLI v2で同様に動作させるために必要な手順を説明します。
- CLI v2を使ったデプロイに必要な新しいスキルプロジェクト構造
ask api
をask smapi
に置き換えask init
をask configure
に置き換え- ASK CLIを使ってデプロイする既存のスキルプロジェクトの初期化に
ask init
を追加 - Alexa-hostedスキルの場合は
ask deploy
の代わりにgit push
を使用 ask created-hosted-skill
の削除に伴いask new
を使用ask clone
を削除- 高レベルのISPコマンド、
add
、remove
、status
を削除 ask simulate
を削除ask validate
を削除ask lambda
を削除ask diff
を削除
CLI v2を使ったデプロイに必要な新しいスキルプロジェクト構造
ASK CLI 1.xで作成したスキルをASK CLI v2でデプロイするには、プロジェクト構造を更新する必要があります。新しい形式にプロジェクトをアップグレードするには、必要な変更を行う際にask util upgrade-project
コマンドを使います。
アップグレードするには、次の手順を実行します。
- ASK CLI 1.xを使用してスキルをデプロイします。
$ ask deploy
- ASK CLI v2をインストールします。
$ npm install -g ask-cli@2
- ASK CLI v2でスキルプロジェクトをアップグレードします。プロジェクトのルートディレクトリから、次のコマンドを実行します。
$ ask util upgrade-project
コマンドにより、CLI v1プロジェクト構造に以下の変更が加えられます。
プロジェクトコンポーネント v1.x v2.x プロジェクトコンフィギュレーション .ask/config
ask-resources.json
スキルパッケージ skill.json
skill-package/skill.json
models/xx-YY.json
skill-package/interactionModels/xx-YY.json
isps/
skill-package/isps/
… … スキルコード lambda/
lambda/
スキルホスティングインフラストラクチャ なし infrastructure/
アップグレードの前に、v1プロジェクトのコピーを含む
./legacy
という非表示フォルダーも作成されます。アップグレードが成功しなかった場合は、./legacy
フォルダーのコンテンツを使ってスキルプロジェクトを前の状態に復元します。 - アップグレードが完了したら、CLI v2のdeployコマンドを使ってアップグレードできたことを確認します。
$ ask deploy
注:
upgrade-project
コマンドは、CLI v1を使ってプロジェクトを作成したことを前提にしています。- 既存のAWSリソースは変更されません。ASK CLI v2は、スキルに既存のLambda ARN(複数可)を使用します。
hooks/
はプロジェクトテンプレートから削除され、デプロイの際に不要となります。
アップグレードプロセスで問題が発生した場合は、GitHubで課題(Issue)を作成してください。
ask api
をask smapi
に置き換え
ASK CLI v2では、ask api
コマンドがask smapi
コマンドに置き換えられ、コマンドがスキル管理API(SMAPI)と対話することがわかるようになりました。
ask init
をask configure
に置き換え
ASK CLI v2では、ask init
コマンドがask configure
コマンドに置き換えられ、コマンドの用途がわかるようになりました。
ASK CLIを使ってデプロイする既存のスキルプロジェクトの初期化にask init
を追加
ASK CLI v2では、ASK CLIを使ってデプロイする既存のスキルプロジェクトの初期化にask init
を使うようになりました。
Alexa-hostedスキルの場合はask deploy
の代わりにgit push
を使用
Alexa-hostedスキルの場合、リモートのAlexa-hostedスキルのmaster
ブランチをデプロイする際に、ASK CLI v2ではgit push
を使用する必要があります。ask deploy
をAlexa-hostedスキルに実行しても何も変わりません。
ask created-hosted-skill
の削除に伴いask new
を使用
ASK CLI v2では、Alexa-hostedスキルの作成に使用していたask create-hosted-skill
が削除されました。CLI v2でAlexa-hostedスキルを作成するには、ask new
を実行し、ホスティングソリューションとしてAlexa-hosted
を選択します。
ask clone
を削除
ASK CLI v2では、AWSでホストされるスキルのローカルマシンへのクローン作成に使用していたclone
コマンドが削除されました。
AWS Lambdaでホストされるスキルコードをローカルマシンに移行するには、AWS Lambdaからスキルコードをエクスポートします。スキルコードをダウンロードしたら、プロジェクトディレクトリ内でask init
を実行してAlexaのスキルパッケージリソースをダウンロードし、ASK CLIを使ったデプロイ用にプロジェクトをセットアップします。
Alexa-hostedスキルのコードをローカルマシンに移行するには、Alexa-hostedスキルのスキルIDを指定してask init --hosted-skill-id <スキルID>
を実行します。
高レベルのISPコマンド、add
、remove
、status
を削除
ASK CLI v2では、スキルの追加、削除、スキルへのISPの変更ステータスの確認に使用していた高レベルコマンドのadd
、remove
、status
が削除されました。今後、ISPリソースはスキルパッケージリソースで管理されます。ISP JSONファイルの追加と削除は、スキルプロジェクトのskill-package/isps
ディレクトリから直接実行し、スキルをデプロイできます。
ask simulate
を削除
ASK CLI v2では、高レベルコマンドのsimulate
が削除されました。スキルをシミュレートしてシミュレーション結果を取得するには、次の2つのコマンドを使用します。
ask validate
を削除
ASK CLI v2では、高レベルコマンドのvalidate
が削除されました。スキルを検証して検証結果を取得するには、次の2つのコマンドを使用します。
ask lambda
を削除
ASK CLI v2では、AWS Lambdaのダウンロードとアップロードに使用していたlambda
コマンドが削除されました。AWS CLIをインストールして、AWS Lambda関数を直接管理します。
ask diff
を削除
ASK CLI v2では、ローカルおよびリモートのAlexaスキルリソースの比較に使用していたdiff
コマンドが削除されました。正式なソースコードを常にローカルリポジトリに保持してから、リモートリポジトリにプッシュして変更をデプロイするようにしてください。