Alexa Skills Kitコマンドラインインターフェース(ASK CLI)リファレンス



ASK CLIコマンドリファレンス

Alexa Skills Kitコマンドラインインターフェース(ASK CLI)を使って開発を始めるには、ASK CLIクイックスタートを参照してください。

ASK CLIについては、ASK CLIの概要を参照してください。

このリファレンスでは、ASK CLIで利用できるすべてのコマンドについて説明します。

ASK CLIのコマンド

開発者アカウントに関連付けられたスキルを処理するASK CLIのコマンドには、2つの種類があります。

  • 上位のコマンドはスキルのプロジェクト作業効率を向上させるためのものです。通常、詳細を抽象化し、複数の操作を内部で実行できるようになっています。スキルを初めて開発する場合や、API呼び出しを細かく制御する必要がない場合に最適です。initnewdeployclonevalidatesimulateは上位コマンドです。
  • 下位のコマンドは、Alexaスキルを詳細に管理するために使用します。Alexaスキル管理API操作のシンラッパーとして機能するため、各API呼び出しを細かく制御することができます。既にアカウントに追加したスキルの一部を変更する場合に特に便利です。apiおよびlambdaは下位コマンドです。

$ ask <コマンド> <サブコマンド> [オプション]

ASK CLIのコマンドにより、以下のタスクを実行できます。

タスク  コマンドまたはオプション     
ツールや特定のコマンドのヘルプを取得します。 ask [コマンド] -h | --help
バージョン番号を確認します。 ask -v | --version
Amazon開発者アカウント認証情報を使ってASK CLIを初期化します。スキル操作を実行する前に開発者アカウントの認証情報を使用してツールを初期化するには、このコマンドを実行します。このコマンドはポート9090を使用します。ポートが使用中の場合、エラーになりますので注意してください。 ask init
コンピューターに新しいAlexaスキルプロジェクトを作成します(最小限の変更でデプロイ先に必要なフォルダやファイルも作成)。 ask new
スキルのマニフェスト、対話モデル、AWS Lambda関数を含むスキルを開発者アカウントにデプロイします。 ask deploy
既存のスキルのクローンをローカルのスキルプロジェクトに作成して、スキルプロジェクトを作成します。 ask clone
プロジェクトのローカルバージョンとリモートバージョンの違いを列挙します。 ask diff
スキルの検証テストを実行します。 ask validate
テキスト入力によりスキルの呼び出しをシミュレートします。パラメーターはask api simulate-skillと同じです。 ask simulate
開発者がAlexaとのマルチターンの会話をシミュレートできるダイアログモードを開始します。 ask dialog
Alexaスキルの作成を管理するユーティリティツールを提供します。 ask util [サブコマンド]
スキル管理とは別に、AWS Lambda関数のコードを作成および更新します。 ask lambda [サブコマンド]
開発者アカウントに関連付けられた、ベータテストなどのAlexaスキルの詳細を管理します。Alexaスキルの一部を作成または更新する場合は、これらのコマンドを使用します。 ask api [サブコマンド]
スキル内商品の作成と管理を行います。 スキル内商品コマンドリファレンスを参照してください。

initコマンド

ask initコマンドでは、認証情報を設定できます。ASK CLIは、この認証情報をAmazon開発者サービスやアマゾンウェブサービス(AWS)の認証に使います。この対話形式のコマンドを使うと、ウェブブラウザが開きます。Amazon開発者アカウントでサインインすると、使用する認証情報に関する情報を入力するか、質問に答えるようプロンプトが出ます。

ask initを使うと、別のAmazonアカウントやAWSアカウントの認証情報を含むプロファイルの表示や設定ができます。プロファイルでは、ASK CLIを使って別のアカウントで作成したスキルを管理できます。ask newask cloneask deployなどのコマンドに-pまたは--profileオプションを付けて使用します。

ASK CLIがAmazon開発者アカウントやAWSアカウントの認証情報を保存、管理する方法については、ASK CLIを使った認証情報の管理を参照してください。

構文:

ask init [-l | --list-profiles]
         [-p | --profile <プロファイル>]
         [--no-browser]
         [--aws-setup]
         [--debug]
         [-h | --help]

オプション:

-l
--list-profiles
任意です。ASK CLIが使用可能なプロファイルのリストを表示します。
-p <プロファイル>
--profile <プロファイル>
任意です。設定する認証情報に使うプロファイルを指定します。このオプションを省略すると、リストからプロファイルを選択するか、新規作成するようASK CLIのプロンプトが出ます。
--no-browser
任意です。このオプションを使うと、ask initコマンドをウェブブラウザを持たないコンピューターで実行できます。ASK CLIにURLが表示されるので、別のコンピューターのウェブブラウザを使ってこのURLにアクセスし、Amazon開発者アカウントでサインインできます。サインインすると、ブラウザにコードが表示されるので、コマンドラインに入力して認証情報の設定を完了します。
--aws-setup
任意です。このオプションを使うと、Amazon開発者認証情報の設定を省略し、AWS認証情報のみを設定できます。

newコマンド

ask newコマンドでは、スキルテンプレートからコピーして新しいスキルプロジェクトを作成できます。

概要と使用例については、ASK CLIの概要で新しいスキルプロジェクトを作成するを参照してください。

構文:

ask new [--url <url> [--template <テンプレート名>]]
        [-n | --skill-name <スキル名>]
        [--lambda-name <Lambda関数名>]
        [-p | --profile <プロファイル>]
        [--debug]
        [--help]

オプション:

--url <GitまたはJSONのURL> [--template <テンプレート名>]
任意です。以下のいずれかになります。
  • スキルテンプレートを含むGitリポジトリのURL
  • スキルテンプレートの一覧を含むJSONファイルのURL
--urlがJSONファイルの場合、任意で--templateを使用して、リストのテンプレート名を指定できます。
-n <スキル名>
--skill-name <スキル名>
任意です。新しいスキルプロジェクトのスキル名です。ASK CLIはこの名前を使用して、コンピューターにスキルのプロジェクトフォルダを作成します。アルファベットの大文字および小文字(A~Z、a~z)、数字(0~9)、アンダーバー(&lowbar;)、ダッシュ(-)を含めることができます。
--lambda-name <Lambda関数名>
任意です。スキルのAWS Lambda関数名です。入力しない場合、ASK CLIがLambda関数にスキルと同じ名前を付けます。
-p <プロファイル>
--profile <プロファイル>
任意です。ASK CLIがスキル作成に使用したプロファイルです。入力しない場合、ASK CLIはデフォルトのプロファイルを使用します。

deployコマンド

概要と使用例については、ASK CLIの概要でスキルプロジェクトを開発中ステージにデプロイするを参照してください。

構文:

ask deploy [--no-wait]
           [-t | --target <ターゲット値>]
           [--force]
           [-p | --profile <プロファイル>]
           [--debug]
           [--help]

オプション:

--no-wait
任意です。--no-waitを指定すると、ASK CLIはモデルのビルドをせず、デプロイされたスキルを有効にしません。--no-waitを使用する場合、次回deployコマンドを使う際に必ず--forceパラメーターを指定するようにしてください。使用しない場合、deployコマンドはeTag値を比較して、eTag値が一致しないという警告を出す可能性があります。これは、前回モデルのビルドを待機せずにdeployコマンドを完了したためです。
-t <ターゲット値>
--target <ターゲット値>
任意です。このパラメーターを使用して、デプロイするリソースを指定します。有効な値は次のとおりです。
  • all – 以下のリソースすべて
  • skill – スキルマニフェスト
  • model – スキルモデルまたはモデル
  • lambda – AWS Lambdaソースコードおよびコンフィギュレーション
  • isp – スキル内商品
--force
任意です。指定されたリソースのローカルバージョンを確認せずにアップロードします。リソースのリモートバージョンと差異がある場合も実行します。
-p <プロファイル>
--profile <プロファイル>
任意です。ASK CLIがスキルリソースをデプロイするプロファイルです。入力しない場合、ASK CLIはデフォルトのプロファイルを使用します。

cloneコマンド

developmentステージから既存のスキルをクローンすることにより、新しいローカルスキルプロジェクトを作成します。liveステージからスキルをクローンすることはできません。スキル内商品を含むスキルをクローンすると、スキル内商品もクローンされます。

cloneコマンドの形式:

$ ask clone [-s|--skill-id <スキルID>] [-p| --profile <プロファイル>] [--debug]

オプション:

--skill-id、-s
任意です。ターゲットスキルのスキルIDです。amzn1.ask.skill.12345678-1234-1234-123456789123の形式で指定する必要があります。
--profile、-p
任意です。クローンするスキルのプロファイルです。指定しない場合は、デフォルトのプロファイルが使用されます。
--debug
任意です。標準エラー出力にデバッグメッセージを追加します。

ask cloneをオプションなしで実行した場合、スキルのリスト(LastModifiedの順)が表示され、このリストからクローンするスキルを選択できます。

skill-idを指定した場合、現在のディレクトリにスキルのクローンが作成されます。また、存在する場合は対話モデルとLambda関数もダウンロードします。スキルのコードがAWS Lambda関数としてではなく、HTTPSエンドポイントでホストされている場合、ダウンロードされません。

スキル定義のダウンロード後、ASK CLIによってAWS Lambda関数のARNが.ask/configファイルに書き込まれ、skill.jsonファイルのendpoint:uriプロパティがsourceDir(Lambda関数のコードベースのソースディレクトリ)に置き換えられます。これは、スキルプロジェクトを移植できるようにし、必要に応じて同じスキルを複数のプロファイルにデプロイできるようにするためです。スキルがAWS Lambdaではなく、ウェブサービスとしてホストされている場合、何も置換されません。

diffコマンド

指定したターゲットのローカルバージョンとリモートバージョンの差分を列挙します。ターゲットを指定しない場合、ASK CLIはすべてのリソースの差分を表示します。ASK CLIはまずローカルとリモートのeTagを比較し、ローカルバージョンが最新バージョンに基づいているかどうかを通知してから、diffの結果を表示します。プロジェクトのローカルコンポーネントとリモートコンポーネントの差分を表示するため、deployを使用する前にdiffコマンドを実行することをおすすめします。

diffコマンドの形式:

$ ask diff [-t|--target <ターゲット>] [-p| --profile <プロファイル>] [--debug]

オプション:

--target、-t
任意です。「target」には差分を表示するプロジェクトコンポーネントを指定します。「target」の有効な値は、「all」、「lambda」、「skill」、「model」、「isp」です。指定しない場合のデフォルト値は「all」です。
--profile、-p
任意です。スキルのバージョンを比較するプロファイルです。指定しない場合は、デフォルトのプロファイルが使用されます。
--debug
任意です。標準エラー出力にデバッグメッセージを追加します。

違いが表示されたら、開発者は必要に応じて手動でローカルバージョンを編集できます。ローカルバージョンを編集したら、deployを使ってリモートバージョンを更新できます。

validateコマンド

スキルの認定を申請する前や開発中の見直しで随時、スキルを検証するテストを実行します。サポートされるテストについては、スキルの検証の「サポートされる検証」を参照してください。

これは、検証結果を取得できるまでポーリングする非同期操作です。検証の実行と、検証結果の取得をそれぞれ別に行う場合は、validate-skillget-validationを参照してください。

validateコマンドの形式:

$ ask validate [-s|--skill-id <スキルID>] [-l|--locales <ロケール>] [-g|--stage <ステージ>] [-p|--profile <プロファイル>] [--debug]

オプション:

--skill-id、-s
任意です。検証するスキルのスキルIDです。amzn1.ask.skill.12345678-1234-1234-123456789123の形式で指定する必要があります。skill-idが指定されていない場合、このコマンドは、テストするスキルが既に作成またはクローンされているスキルプロジェクトのルートディレクトリで実行する必要があります。skill-idが指定されている場合、このコマンドはどこからでも実行できます。
--locales, -l
任意です。ロケールのリストです。サポートされる値は、en-USen-GBen-CAen-AUen-INです。環境変数ASK_DEFAULT_DEVICE_LOCALEが設定されている場合、このオプションは不要です。このオプションが指定されておらず、かつ環境変数ASK_DEFAULT_DEVICE_LOCALEが設定されていない場合、環境変数またはデバイスロケールを指定するよう求めるエラーメッセージが表示されます。
--stage、-g
任意です。スキルのステージを表します。値として、developmentliveのいずれかを使用します。デフォルトはdevelopmentです。
--profile、-p
任意です。アカウントリンクのコンフィギュレーションを取得するプロファイルです。指定しない場合は、デフォルトのプロファイルが使用されます。
--debug
任意です。標準エラー出力にデバッグメッセージを追加します。

simulateコマンド

テキスト入力によりスキルの呼び出しをシミュレートします。このコマンドは、内部的にask api simulate-skillを呼び出し、完了するまでシミュレーションステータスのポーリングを継続します。パラメーターはask api simulate-skillと同じです。

simulateコマンドの形式:

$ ask simulate [-f| --file <ファイルパス>] [-t| --text <テキスト>] [-l| --locale <ロケール>] [-s|--skill-id <スキルID>] [--force-new-session] [-g| --stage] [-p| --profile <プロファイル>] [--debug]

--file、-f
<-t、--text>を指定する場合は使用しません。それ以外の場合は必須です。シミュレーションに使う発話テキストコンテンツファイルへのパスです。絶対または相対パスで指定できます。
--text、-t
<-f、--file>を指定する場合は使用しません。それ以外の場合は必須です。スキルのシミュレートに使用する発話テキストを入力します。
--locale、-l
ASK_DEFAULT_DEVICE_LOCALE環境変数がセットされている場合は任意、それ以外は必須です。シミュレートするスキルのロケールです。有効な値は、en-USen-GBen-CAen-AUen-INde-DEja-JPです。指定しない場合、ロケールを入力するようプロンプトが出ます。
--skill-id、-s
任意です。amzn1.ask.skill.12345678-1234-1234-123456789123の形式で指定する必要があります。指定しない場合、CLIは現在のプロファイルの.ask/configファイルからスキルIDを取得します。
--force-new-session
任意です。新しいダイアログセッションを開始してからシミュレーションを実行します。
--stage、-g
任意です。スキルのステージを表します。値として、developmentliveのいずれかを使用します。デフォルトはdevelopmentです。
--profile、-p
任意です。デフォルト以外のプロファイルを使うには、プロファイル名を指定します。
--debug
任意です。標準エラー出力にデバッグメッセージを追加します。

dialogコマンド

開発者がAlexaとのマルチターンの会話をシミュレートできるダイアログモードを開始します。各ダイアログはsimulate-skillを使用します。これは、シミュレーション結果が入手できるまでポーリングを続ける非同期の操作です。結果を入手したら、Alexaのテキスト応答を表示します。パラメーターが無効な場合、対話モードは開始しません。また、ユーザーが特殊コマンドの「!quit」かCtrl+Cを入力しない限り終了しません。

dialogコマンドの形式:

ask dialog [-s|--skill-id <スキルID>] [-l|--locale <ロケール>] [-g|--stage <ステージ>] [-r|--replay <ファイルパス>] [-o|--output <ファイルパス>]

ユーザーがダイアログ中に入力できるコマンドは2つあります。1つは!quitで、対話モードを終了します。もう1つは!recordで、ユーザーにファイル名を入力するようプロンプトを出し、ダイアログ入力を録音できます。これらのコマンドは、現在の対話モードのスキルID、ロケール、入力タイプ、すべての入力テキストと共に使用できます。!recordコマンドは、最後のセッションのユーザー入力のみを録音します。

このコマンドを--replayオプションを付けて実行する場合、スキルの情報とユーザー入力を含む録音ファイルを指定します。replayオプションはユーザー入力を再生し、Alexaが通常の会話のように応答します。再生ファイル形式を参照してください。コマンドラインでskillIdを指定しないでください。

このコマンドを--replayオプションを付けないで実行する場合、指定したスキルのリクエストをAlexaに話し掛けるときのようにダイアログに直接入力します。skillIdを指定するか、スキルプロジェクトのルートディレクトリからコマンドを実行し、localeを指定する必要があります。

スキルセッションが終了していない場合、「User >」プロンプトがコマンドラインに引き続き表示されるため、Alexaと会話しているときのようにテキストを入力できます。

スキルセッションが終了している場合は「—Skill Session Ended.—」行がコマンドラインウィンドウに表示されますが、対話モードは開いたままです。「User >」プロンプトが表示されるので、引き続きテキストを入力できます。

--skill-id、-s
任意です。amzn1.ask.skill.12345678-1234-1234-123456789123の形式で指定する必要があります。skill-idが指定されておらず、--replayオプションが指定されていない場合、このコマンドは、テストするスキルが既に作成またはクローンされているスキルプロジェクトのルートディレクトリから実行する必要があります。--replayオプションを使用する場合は、skill-idを指定できません。
--locale、-l
ASK_DEFAULT_DEVICE_LOCALE環境変数がセットされている場合は任意、--replayオプションが使用されていない場合は必須です。シミュレートするスキルのロケールです。有効な値は、en-USen-GBen-CAen-AUen-INde-DEja-JPです。このオプションも--replayオプションも指定されていない場合、ロケールを入力するようプロンプトが出ます。--replayオプションを使用する場合は、localeを指定できません。
--stage、-g
任意です。スキルのステージを表します。値として、developmentliveのいずれかを使用します。デフォルトはdevelopmentです。
--replay、-r
任意です。スキルとの会話をシミュレートする再生ファイルを指定します。このファイルには、セッションの開始または最後に録音した位置からのテキスト発話が含まれます。録音済みファイルを使用して、よく使われるテストの実行を自動化できます。この再生ファイルには、skill-idlocaleが含まれる場合があります。ファイルにskill-idが含まれていない場合、このコマンドは、テストするスキルが既に作成またはクローンされているスキルプロジェクトのルートディレクトリから実行する必要があります。
--profile、-p
任意です。デフォルト以外のプロファイルを使うには、プロファイル名を指定します。
--debug
任意です。標準エラー出力にデバッグメッセージを追加します。
--output、-o
任意です。すべての発話、スキルの応答、関連するJSON要素のログを記録する出力ファイルを指定します。これらの出力ファイルの情報を使用して、バックエンドサービスのロジックをデバッグすることができます。

再生ファイル形式

再生ファイルは以下の形式になります。

{
    "skillId":"amazon.skill.123..",
    "locale": "ja-JP",
    "type": "text"
    "userInput": ["フライトの予約", "バンクーバー", ...]
}
アトリビュート 説明
skillId シミュレートするスキルです。
locale 「ja-JP」など、指定するスキルをテストするロケールを指定します。
type "text"(テキスト)を指定します。
userInput ユーザーがスキルに話し掛ける発話の配列です。

適切な情報を指定し、以下の形式に従って再生ファイルを手動で作成して、後で利用できるよう保存できます。

再生ファイルは以下の手順でも作成できます。

  • ask dialogコマンドを入力します。
  • プロンプトが出たら、!recordと入力します。
  • プロンプトに従って、必要な情報を入力します。これには、保存するファイル名も含まれます。

どちらの場合にも、--replayオプションを使用するときに使う再生ファイルを指定します。

再生ファイルには「!quit」、「!record」の特殊コマンドがいずれも含まれないようにしてください。これらが含まれていると、[Error]: Replay file should not include any special command.というエラーメッセージが表示されます。

apiコマンド

apiコマンドには複数のサブコマンドがあり、それぞれAlexaスキル管理API(SMAPI)の基本API操作に1:1でマッピングされます。これらのコマンドは、API入力を詳細に制御でき、生データを出力します。スキル、対話モデル、アカウントリンク情報の作成と更新、スキル認定プロセスの開始を行うサブコマンドがあります。

apiコマンドの形式:

$ ask api <サブコマンド>

サブコマンド

タスク サブコマンド
基本スキル管理  
新しいスキルを作成します create-skill
スキルマニフェストを取得します get-skill
スキルを削除します delete-skill
スキルコンフィギュレーションの詳細を更新します update-skill
createまたはupdateの呼び出し後にスキルのステータスを取得します get-skill-status
スキルモデルの操作  
スキルの対話モデルを取得します get-model
モデルを更新、またはスキルの対話モデルを新規作成します。モデルのビルドがトリガーされます update-model
対話モデルに関連付けられたETagを取得します head-model
アカウントリンクの管理  
スキルのアカウントリンクコンフィギュレーション情報を追加または更新します create-account-linking
スキルのアカウントリンクコンフィギュレーション情報を取得します get-account-linking
スキルのアカウントリンクコンフィギュレーション情報を削除します delete-account-linking
スキルのベータテスト(ベータテスト)の管理  
ベータテストを作成します create-beta-test
ベータテストを更新します update-beta-test
ベータテストを取得します get-beta-test
ベータテストを開始します start-beta-test
ベータテストを終了します end-beta-test
スキルのベータテスト(テスター)の管理  
ベータテスターのリストを表示します list-beta-testers
ベータテスターを追加します add-beta-testers
ベータテスターを削除します remove-beta-testers
ベータテスターにリマインダーを送信します send-reminder-to-beta-testers
ベータテスターにフィードバックをリクエストします request-feedback-from-beta-testers
検証と認定の管理  
スキルの検証テストを実行します validate-skill
検証結果を取得します get-validation
スキルの認定を申請します submit
認定プロセス中のスキルを取り消します withdraw
ベンダーの管理  
開発者アカウントに関連付けられたベンダーIDを取得します list-vendors
ベンダーのスキルリストを表示します list-skills
非公開スキルの管理  
非公開の配信アカウントを追加します add-private-distribution-account
非公開の配信アカウントを削除します delete-private-distribution-account
非公開の配信アカウントのリストを表示します list-private-distribution-accounts
スキルの有効化と無効化の管理  
スキルを有効にします enable-skill
スキルを無効にします disable-skill
スキルが有効かどうかを取得します get-skill-enablement
スキルの呼び出しとシミュレーションの管理  
スキルを呼び出します invoke-skill
スキルをシミュレートします simulate-skill
シミュレーション結果を取得します get-simulation
インテントリクエストの履歴を取得します intent-requests-history
カタログ情報の管理  
vendorIdでカタログのリストを表示します list-catalogs
catalogIdでカタログを取得します get-catalog
catalog-typeとcatalog-titleに基づいて新しいカタログを作成します create-catalog
カタログアップロードのリストを表示します list-catalog-uploads
カタログアップロードを取得します get-catalog-upload
カタログをスキルに関連付けます associate-catalog-with-skill
カタログを更新します upload-catalog

create-skillサブコマンド

skill.jsonファイルから開発者アカウントに関連付けられたスキルを作成します。スキルIDとスキルステータスが返されます。

create-skillコマンドの形式:

$ ask api create-skill [-f|--file <ファイル名>] [-p|--profile <プロファイル>] [--debug]

オプション:

--file、-f
必須です。.json形式のスキル情報ファイルへのパスです。絶対または相対パスで指定できます。
--profile、-p
任意です。スキル作成時に使用するプロファイルです。指定しない場合は、デフォルトのプロファイルが使用されます。
--debug
任意です。標準出力にデバッグメッセージを追加します。

get-skillサブコマンド

スキルIDを指定してスキルのスキーマをターミナルに出力します。以下のように>演算子を使用して、この出力結果をファイルにリダイレクトすることもできます。

$ ask api get-skill -s {skill_id} --stage development > skill.json

get-skillコマンドの形式:

$ ask api get-skill [-s|--skill-id <スキルID>] [-g|--stage <ステージ>] [-p|--profile <プロファイル>] [--debug]

オプション:

--skill-id、-s
必須です。取得するスキルのスキルIDです。amzn1.ask.skill.12345678-1234-1234-123456789123の形式で指定する必要があります。
--stage、-g
任意です。スキルのステージを表します。値として、developmentliveのいずれかを使用します。デフォルトはdevelopmentです。
--profile、-p
任意です。スキルのスキーマを出力するプロファイルです。指定しない場合は、デフォルトのプロファイルが使用されます。
--debug
任意です。標準出力にデバッグメッセージを追加します。

delete-skillサブコマンド

スキルを削除します。一度削除したスキルを復元することはできません。

delete-skillコマンドの形式:

$ ask api delete-skill [-s|--skill-id <スキルID>] [-p|--profile <プロファイル>] [--debug]

オプション:

--skill-id、-s
必須です。削除するスキルのスキルIDです。amzn1.ask.skill.12345678-1234-1234-123456789123の形式で指定する必要があります。
--profile、-p
任意です。スキルを削除するプロファイルです。指定しない場合は、デフォルトのプロファイルが使用されます。このプロファイルにはスキルを削除できる権限が付与されている必要があります。
--debug
任意です。標準出力にデバッグメッセージを追加します。

update-skillサブコマンド

--fileオプションで指定したスキルのマニフェストを使って指定されたスキルを更新します。

update-skillコマンドの形式:

$ ask api update-skill [-s|--skill-id <スキルID>] [-f|--file <ファイル名>] [-g|--stage <ステージ>] [-p|--profile <プロファイル>] [--debug]

オプション:

--skill-id、-s
必須です。更新するスキルのスキルIDです。amzn1.ask.skill.12345678-1234-1234-123456789123の形式で指定する必要があります。
--file、-f
必須です。.json形式のスキル情報ファイルへのパスです。絶対または相対パスで指定できます。
--stage、-g
任意です。スキルのステージを表します。このコマンドでは、developmentのみがサポートされています。
--profile、-p
任意です。スキルのスキーマを作成または更新するプロファイルです。指定しない場合は、デフォルトのプロファイルが使用されます。
--debug
任意です。標準エラー出力にデバッグメッセージを追加します。

get-modelサブコマンド

スキルIDとロケールを指定してスキルのモデルスキーマを取得します。以下のように>演算子を使用して、この出力結果をファイルにリダイレクトすることもできます。

$ ask api get-model -s {skill_id} --stage development -l {locale} > model.json

get-modelコマンドの形式:

$ ask api get-model [-s|--skill-id <スキルID>] [-l|--locale <ロケール>] [-p|--profile <プロファイル>] [--debug] [-g|--stage <ステージ>]

オプション:

--skill-id、-s
必須です。ターゲットモデルのスキルIDです。amzn1.ask.skill.12345678-1234-1234-123456789123の形式で指定する必要があります。
--locale、-l
ASK_DEFAULT_DEVICE_LOCALE環境変数がセットされている場合は任意、それ以外は必須です。シミュレートするスキルのロケールです。有効な値は、en-USen-GBen-CAen-AUen-INde-DEja-JPです。指定しない場合、ロケールを入力するようプロンプトが出ます。
--stage、-g
任意です。スキルのステージを表します。値として、developmentliveのいずれかを使用します。デフォルトはdevelopmentです。
--profile、-p
任意です。モデルスキーマを取得するプロファイルです。指定しない場合は、デフォルトのプロファイルが使用されます。
--debug
任意です。標準エラー出力にデバッグメッセージを追加します。

update-modelサブコマンド

指定のスキルとロケールに、指定の対話モデルスキーマを設定できます。

update-modelコマンドの形式:

$ ask api update-model [-s|--skill-id <スキルID>] [-f | --file <ファイル名>] [-l|--locale <ロケール>] [-p|--profile <プロファイル>] [-g|--stage <ステージ>] [--debug]

オプション:

--skill-id、-s
必須です。amzn1.ask.skill.12345678-1234-1234-123456789123の形式で指定する必要があります。
--file、-f
必須です。models/{locale}.jsonファイルへのパスです。絶対または相対パスで指定できます。
--locale、-l
ASK_DEFAULT_DEVICE_LOCALE環境変数がセットされている場合は任意、それ以外は必須です。シミュレートするスキルのロケールです。有効な値は、en-USen-GBen-CAen-AUen-INde-DEja-JPです。指定しない場合、ロケールを入力するようプロンプトが出ます。
--stage、-g
任意です。スキルのステージを表します。このコマンドでは、デフォルトのdevelopmentのみがサポートされます。
--profile、-p
任意です。スキルを更新するプロファイルです。指定しない場合は、デフォルトのプロファイルが使用されます。
--debug
任意です。標準エラー出力にデバッグメッセージを追加します。

get-skill-statusサブコマンド

スキルのステータスとその対話モデルを取得します。

get-skill-statusコマンドの形式:

$ ask api get-skill-status [-s|--skill-id <スキルID>] [-p|--profile <プロファイル>] [--debug]

--skill-id、-s
必須です。ステータスを確認しているスキルIDです。amzn1.ask.skill.12345678-1234-1234-123456789123の形式で指定する必要があります。
--profile、-p
任意です。スキルステータスを取得するプロファイルです。指定しない場合は、デフォルトのプロファイルが使用されます。
--debug
任意です。標準エラー出力にデバッグメッセージを追加します。

head-modelサブコマンド

スキルIDとロケールを指定してスキルモデルのETagを取得できます。Etagはリソースのバージョンを表す一意の識別子です。モデルに対して操作を行う前にモデルが変更されていないことを検証できます。

head-modelコマンドの形式:

$ ask api head-model [-s|--skill-id <スキルID>] [-l|--locale <ロケール>] [-g|--stage <ステージ>] [-p|--profile <プロファイル>] [--debug]

オプション:

--skill-id、-s
必須です。ターゲットモデルのスキルIDです。amzn1.ask.skill.12345678-1234-1234-123456789123の形式で指定する必要があります。
--locale、-l
ASK_DEFAULT_DEVICE_LOCALE環境変数がセットされている場合は任意、それ以外は必須です。シミュレートするスキルのロケールです。有効な値は、en-USen-GBen-CAen-AUen-INde-DEja-JPです。指定しない場合、ロケールを入力するようプロンプトが出ます。
--stage、-g
任意です。スキルのステージを表します。値として、developmentliveのいずれかを使用します。デフォルトはdevelopmentです。
--profile、-p
任意です。ETagを取得するプロファイルです。指定しない場合は、デフォルトのプロファイルが使用されます。
--debug
任意です。標準エラー出力にデバッグメッセージを追加します。

create-account-linkingサブコマンド

スキルIDを指定してアカウントリンクコンフィギュレーションの詳細情報を追加または更新します。

create-account-linkingを呼び出すと、以下の値を入力するようプロンプトが出ます。これらの値の詳細については、Authorization code grantを設定するaccountLinkingRequestObjectを参照してください。

  • 認証画面のURL
  • クライアントID
  • スコープ(カンマ区切りリスト)
  • ドメイン(カンマ区切りリスト)
  • Authorization Grant種別(矢印キーを使ってIMPLICITAUTH_CODEのいずれかを選択)
  • AUTH_CODEを選択する場合は、追加の情報を入力します。
    • アクセストークンURL
    • クライアントシークレット
    • クライアント認証スキーム: HTTP_BASICまたはREQUEST_BODY_CREDENTIALS
    • デフォルトのトークン有効期間(秒)(任意)
  • ユーザーがアカウントリンクなしでスキルを有効にすることを許可する(YESかNOを選択)

アカウントリンク情報は、機密保持のためコンピューターには保存されません。

create-account-linkingコマンドの形式:

$ ask api create-account-linking [-s|--skill-id <スキルID>] [-g|--stage <ステージ>] [-p|--profile <プロファイル>] [--debug]

オプション:

--skill-id、-s
必須です。アカウントリンク情報を追加するスキルのIDです。amzn1.ask.skill.12345678-1234-1234-123456789123の形式で指定する必要があります。
--stage、-g
任意です。スキルのステージを表します。このコマンドでは、デフォルトのdevelopmentのみがサポートされます。
--profile、-p
任意です。アカウントリンクを作成するプロファイルです。指定しない場合は、デフォルトのプロファイルが使用されます。
--debug
任意です。標準エラー出力にデバッグメッセージを追加します。

get-account-linkingサブコマンド

アカウントリンクコンフィギュレーションの詳細を取得して、コンソールに出力します。セキュリティを守るため、この情報はコンピューターに保存しないでください。

get-account-linkingコマンドの形式:

$ ask api get-account-linking [-s|--skill-id <スキルID>] [-g|--stage <ステージ>] [-p|--profile <プロファイル>] [--debug]

オプション:

--skill-id、-s
必須です。アカウントリンク情報を取得するスキルのIDです。amzn1.ask.skill.12345678-1234-1234-123456789123の形式で指定する必要があります。
--stage、-g
任意です。スキルのステージを表します。値として、developmentliveのいずれかを使用します。デフォルトはdevelopmentです。
--profile、-p
任意です。アカウントリンクのコンフィギュレーションを取得するプロファイルです。指定しない場合は、デフォルトのプロファイルが使用されます。
--debug
任意です。標準エラー出力にデバッグメッセージを追加します。

delete-account-linkingサブコマンド

スキルとステージを指定してアカウントリンクコンフィギュレーションを削除します。

delete-account-linkingコマンドの形式:

$ ask api delete-account-linking [-s|--skill-id <スキルID>] [-g|--stage <ステージ>] [-p|--profile <プロファイル>] [--debug]

オプション:

--skill-id、-s
必須です。アカウントリンク情報を取得するスキルのIDです。amzn1.ask.skill.12345678-1234-1234-123456789123の形式で指定する必要があります。
--stage、-g
任意です。スキルのステージを表します。このコマンドでは、デフォルトのdevelopmentのみがサポートされます。
--profile、-p
任意です。アカウントリンクのコンフィギュレーションを取得するプロファイルです。指定しない場合は、デフォルトのプロファイルが使用されます。
--debug
任意です。標準エラー出力にデバッグメッセージを追加します。

create-beta-testサブコマンド

指定したスキルIDに基づいてスキルのベータテストを作成します。

create-beta-testコマンドの形式:

$ ask api create-beta-test <-s|--skill-id <スキルID>> [-f|--feedback-email <フィードバックEメール>] [-p|--profile <プロファイル>] [--debug]

オプション:

--skill-id、-s
必須です。ベータテストを作成するスキルIDです。amzn1.ask.skill.12345678-1234-1234-123456789123の形式で指定する必要があります。
--feedback-email、-f
任意です。テスターがフィードバックを提供するEメールアドレスです。
--profile、-p
任意です。スキルのベータテスト作成時に使用するプロファイルです。指定しない場合は、デフォルトのプロファイルが使用されます。
--debug
任意です。標準エラー出力にデバッグメッセージを追加します。

update-beta-testサブコマンド

既存のベータテストを更新します。

update-beta-testコマンドの形式:

$ ask api update-beta-test <-s|--skill-id <スキルID>> [-f|--feedback-email <フィードバックEメール>] [-p|--profile <プロファイル>] [--debug]

オプション

--skill-id、-s
必須です。ベータテストを作成するスキルIDです。amzn1.ask.skill.12345678-1234-1234-123456789123の形式で指定する必要があります。
--feedback-email、-f
任意です。テスターがフィードバックを提供するEメールアドレスです。
--profile、-p
任意です。スキルのベータテスト作成時に使用するプロファイルです。指定しない場合は、デフォルトのプロファイルが使用されます。
--debug
任意です。標準エラー出力にデバッグメッセージを追加します。

get-beta-testサブコマンド

既存のベータテストを返します。

get-beta-testコマンドの形式:

$ ask api get-beta-test <-s|--skill-id <スキルID>> [-p|--profile <プロファイル>] [--debug]

オプション

--skill-id、-s
必須です。ベータテストを作成するスキルIDです。amzn1.ask.skill.12345678-1234-1234-123456789123の形式で指定する必要があります。
--profile、-p
任意です。スキルのベータテストを取得するプロファイルです。指定しない場合は、デフォルトのプロファイルが使用されます。
--debug
任意です。標準エラー出力にデバッグメッセージを追加します。

start-beta-testサブコマンド

ベータテストを開始します。

start-beta-testコマンドの形式:

$ ask api start-beta-test <-s|--skill-id <スキルID>> [-p|--profile <プロファイル>] [--debug]

オプション

--skill-id、-s
必須です。ベータテストを開始するスキルIDです。amzn1.ask.skill.12345678-1234-1234-123456789123の形式で指定する必要があります。
--profile、-p
任意です。スキルのベータテストを開始するプロファイルです。指定しない場合は、デフォルトのプロファイルが使用されます。
--debug
任意です。標準エラー出力にデバッグメッセージを追加します。

end-beta-testサブコマンド

ベータテストを終了します。

end-beta-testコマンドの形式:

$ ask api end-beta-test <-s|--skill-id <スキルID>> [-p|--profile <プロファイル>] [--debug]

オプション

--skill-id、-s
必須です。ベータテストを終了するスキルIDです。amzn1.ask.skill.12345678-1234-1234-123456789123の形式で指定する必要があります。
--profile、-p
任意です。スキルのベータテストを終了するプロファイルです。指定しない場合は、デフォルトのプロファイルが使用されます。
--debug
任意です。標準エラー出力にデバッグメッセージを追加します。

list-beta-testersサブコマンド

ベータテストに関連付けられているすべてのテスターを一覧表示します。

list-beta-testersコマンドの形式:

$ ask api list-beta-testers <-s|--skill-id <スキルID>> [--max-results <値>] [--next-token <値>] [-p|--profile <プロファイル>] [--debug]

オプション

--skill-id、-s
必須です。ベータテストのスキルIDです。amzn1.ask.skill.12345678-1234-1234-123456789123の形式で指定する必要があります。
--profile、-p
--max-results
任意です。返される結果の項目の最大数です。デフォルトでは、50に設定されます。入力する場合、「value」は1~500(1と500も含む)の正の整数に設定します。500が上限です。
--next-token

任意です。値は、結果の項目に通しでページ番号をふるために使用されます。–next-tokenは–max-resultsパラメーターと共に使用し、ページに読み込む結果の数を指定します。最初のページを読み込むには、–next-tokenをnullに設定できます。このトークン値は24時間で期限が切れます。またこのトークンを取得するために使用したフィルターとスキルIDと結び付けられています。このトークン値は、他のパラメーターと共に使用された場合は無視されます。その場合は、新しい検索パラメーターによって得た結果の最初のページが返されます。

--profile、-p
任意です。スキルのベータテストを終了するプロファイルです。指定しない場合は、デフォルトのプロファイルが使用されます。
--debug
任意です。標準エラー出力にデバッグメッセージを追加します。

add-beta-testersサブコマンド

テスターを既存のベータテストに追加します。

add-beta-testersコマンドの形式:

$ ask api add-beta-testers <-s|--skill-id <スキルID>> <-f|--file <ファイル名>> [-p|--profile <プロファイル>] [--debug]

オプション

--skill-id、-s
必須です。ベータテストのスキルIDです。amzn1.ask.skill.12345678-1234-1234-123456789123の形式で指定する必要があります。
--profile、-p
--file、-f
必須です。テスターのEメールアドレスファイル(.csv形式)へのパスです。絶対または相対パスで指定できます。テスターのEメールアドレスは.csvファイルの最初の列に任意のヘッダーと共に表示されます。
任意です。テスターを追加するプロファイルです。指定しない場合は、デフォルトのプロファイルが使用されます。
--debug
任意です。標準エラー出力にデバッグメッセージを追加します。

remove-beta-testersサブコマンド

テスターを既存のベータテストから削除します。

remove-beta-testersコマンドの形式:

$ ask api remove-beta-testers <-s|--skill-id <スキルID>> <-f|--file <ファイル名>> [-p|--profile <プロファイル>] [--debug]

オプション

--skill-id、-s
必須です。ベータテストのスキルIDです。amzn1.ask.skill.12345678-1234-1234-123456789123の形式で指定する必要があります。
--profile、-p
--file、-f
必須です。テスターのEメールアドレスファイル(.csv形式)へのパスです。絶対または相対パスで指定できます。テスターのEメールアドレスは.csvファイルの最初の列に任意のヘッダーと共に表示されます。
任意です。テスターを削除するプロファイルです。指定しない場合は、デフォルトのプロファイルが使用されます。
--debug
任意です。標準エラー出力にデバッグメッセージを追加します。

send-reminder-to-beta-testersサブコマンド

指定したベータテストのテスターのリストにリマインダー通知のEメールを送信します。このEメールはテスターにベータテストについて知らせる招待状であり、承諾したテスターがベータテストに追加されます。

send-reminder-to-beta-testersコマンドの形式:

$ ask api send-reminder-to-beta-testers <-s|--skill-id <スキルID>> <-f|--file <ファイル名>> [-p|--profile <プロファイル>] [--debug]

オプション

--skill-id、-s
必須です。ベータテストのスキルIDです。amzn1.ask.skill.12345678-1234-1234-123456789123の形式で指定する必要があります。
--profile、-p
--file、-f
必須です。テスターのEメールアドレスファイル(.csv形式)へのパスです。絶対または相対パスで指定できます。テスターのEメールアドレスは.csvファイルの最初の列に任意のヘッダーと共に表示されます。
任意です。テスターにリマインダーを送信するプロファイルです。指定しない場合は、デフォルトのプロファイルが使用されます。
--debug
任意です。標準エラー出力にデバッグメッセージを追加します。

request-feedback-from-beta-testersサブコマンド

ベータテストのテスターのリストにフィードバックをリクエストします。

request-feedback-from-beta-testersコマンドの形式:

$ ask api send-reminder-to-beta-testers <-s|--skill-id <スキルID>> <-f|--file <ファイル名>> [-p|--profile <プロファイル>] [--debug]

オプション

--skill-id、-s
必須です。ベータテストのスキルIDです。amzn1.ask.skill.12345678-1234-1234-123456789123の形式で指定する必要があります。
--profile、-p
--file、-f
必須です。テスターのEメールアドレスファイル(.csv形式)へのパスです。絶対または相対パスで指定できます。テスターのEメールアドレスは.csvファイルの最初の列に任意のヘッダーと共に表示されます。
任意です。テスターにリマインダーを送信するプロファイルです。指定しない場合は、デフォルトのプロファイルが使用されます。
--debug
任意です。標準エラー出力にデバッグメッセージを追加します。

validate-skillサブコマンド

スキルの認定を申請する前や開発中の見直しで随時、スキルを検証するテストを実行します。サポートされるテストについては、スキルの検証の「サポートされる検証」を参照してください。

validate-skillコマンドは、validation-idの値を返します。この値は、get-validationと併せて使用すると、検証結果を照会できます。下位のvalidateコマンドは、検証と結果取得を1つにまとめて行います。

validate-skillコマンドの形式:

$ ask api validate-skill [-s|--skill-id <スキルID>] [-l|--locales <ロケール>] [-g|--stage <ステージ>] [-p|--profile <プロファイル>] [--debug]

オプション:

--skill-id、-s
必須です。検証するスキルのスキルIDです。amzn1.ask.skill.12345678-1234-1234-123456789123の形式で指定する必要があります。
--locales, -l
任意です。ロケールのリストです。サポートされる値は、en-USen-GBen-CAen-AUen-INです。環境変数ASK_DEFAULT_DEVICE_LOCALEが設定されている場合、このオプションは不要です。このオプションが指定されておらず、かつ環境変数ASK_DEFAULT_DEVICE_LOCALEが設定されていない場合、環境変数またはデバイスロケールを指定するよう求めるエラーメッセージが表示されます。
--stage、-g
任意です。スキルのステージを表します。値として、developmentliveのいずれかを使用します。デフォルトはdevelopmentです。
--profile、-p
任意です。アカウントリンクのコンフィギュレーションを取得するプロファイルです。指定しない場合は、デフォルトのプロファイルが使用されます。
--debug
任意です。標準エラー出力にデバッグメッセージを追加します。

get-validationサブコマンド

validate-skillサブコマンドで生成された検証結果を返します。

下位のvalidateコマンドは、検証と結果取得を1つにまとめて行います。

get-validationコマンドの形式:

$ ask api get-validation <-i|--validation-id <検証ID>> <-s|--skillId <スキルID>> [-p|--profile <プロファイル>] [--debug]

オプション:

--validation-id、-i
必須です。スキル検証リクエストの検証IDです。これは、validate-skillサブコマンドの実行により取得されます。
--skill-id、-s
必須です。検証するスキルのスキルIDです。amzn1.ask.skill.12345678-1234-1234-123456789123の形式で指定する必要があります。
--profile、-p
任意です。アカウントリンクのコンフィギュレーションを取得するプロファイルです。指定しない場合は、デフォルトのプロファイルが使用されます。
--debug
任意です。標準エラー出力にデバッグメッセージを追加します。

submitサブコマンド

スキルの認定を申請できます。

submitコマンドの形式:

$ ask api submit [-s|--skill-id <スキルID>] [-p|--profile <プロファイル>] [--debug]

オプション:

--skill-id、-s
必須です。ターゲットスキルのスキルIDです。amzn1.ask.skill.12345678-1234-1234-123456789123の形式で指定する必要があります。
--profile、-p
任意です。スキル作成時に使用するプロファイルです。指定しない場合は、デフォルトのプロファイルが使用されます。
--debug
任意です。標準エラー出力にデバッグメッセージを追加します。

withdrawサブコマンド

認定プロセスからスキルを取り消すことができます。取り消しには、理由を入力するよう求められます。選択肢は以下のとおりです。

  • これはテスト用のスキルで、認定対象ではありません
  • スキルに機能を追加したいと考えています
  • スキルに問題が見つかりました
  • 認定申請の結果をまだ受け取っていません
  • スキルをすぐに公開する予定がありません
  • その他

その他を選択すると、取り消し理由の詳細を入力できます。

withdrawコマンドの形式:

$ ask api withdraw [-s|--skill-id <スキルID>] [-p|--profile <プロファイル>] [--debug]

オプション:

--skill-id、-s
必須です。ターゲットスキルのスキルIDです。amzn1.ask.skill.12345678-1234-1234-123456789123の形式で指定する必要があります。
--profile、-p
任意です。スキルを取り消すプロファイルです。指定しない場合は、デフォルトのプロファイルが使用されます。
--debug
任意です。標準エラー出力にデバッグメッセージを追加します。

list-vendorsサブコマンド

開発者アカウントに関連付けられたベンダーIDを取得し、ベンダーIDに対して開発者に関連付けられたロールを指定します。

list-vendorsコマンドの形式:

$ ask api list-vendors [-p|--profile <プロファイル>] [--debug]

サンプル出力:

[
  {
    "id": "MYVENDORID1234567",
    "name": "Amazon",
    "roles": [
      "ROLE_ADMINISTRATOR"
    ]
  }
]

オプション:

--profile、-p
任意です。デフォルト以外のプロファイルを使うには、プロファイル名を指定します。
--debug
任意です。標準エラー出力にデバッグメッセージを追加します。

list-skillsサブコマンド

現在のプロファイルのスキルリストを表示します。リストはJSON形式で返されます。

list-skillsコマンドの形式:

$ ask api list-skills [-p|--profile <プロファイル>] [--debug]

サンプル出力:

{
    "skills": [
        {
            "lastUpdated": "2017-07-11T19:29:57.120Z",
            "nameByLocale": {
                "ja-JP": "example"
            },
            "stage": "development",
            "apis": [
                "custom",
                "householdList"
            ],
            "publicationStatus": "DEVELOPMENT",
            "skillId": "amzn1.ask.skill.6acdbdf8-8420-440e-823e-aaaaaaaabbbb"
        },
        {
            "lastUpdated": "2017-07-05T21:11:16.947Z",
            "asin": "ACIS-QA-xxxxxxx",
            "nameByLocale": {
                "ja-JP": "example1"
            },
            "stage": "live",
            "apis": [
                "video"
            ],
            "publicationStatus": "PUBLISHED",
            "skillId": "amzn1.ask.skill.81ded88f-0d0a-4612-aaaaaaaabbbb"
        }
    ]
}

指定したベンダーのスキルの完全なリストが返されます。これらのスキルのいずれかが無効または破損している場合、そのスキルにはnameByLocaleの値ではなく、skillIdstagelastUpdatedpublicationStatusの値が返されます。

オプション:

--profile、-p
任意です。デフォルト以外のプロファイルを使うには、プロファイル名を指定します。
--debug
任意です。標準エラー出力にデバッグメッセージを追加します。

add-private-distribution-accountサブコマンド

スキルを指定して非公開の配信リストにアカウントを追加します。

add-private-distribution-accountコマンドの形式:

ask api add-private-distribution-account <-s|--skill-id <スキルID>> --stage live <--account-id <id>>

オプション:

--skill-id、-s
必須です。ターゲットスキルのIDです。
--stage
任意です。スキルのステージを表します。このコマンドでは、デフォルトのliveのみがサポートされます。
--account-id
必須です。Alexa for Business企業のアカウントARNです(arn:aws:iam::123456789012:rootなど)。

delete-private-distribution-accountサブコマンド

スキルを指定して非公開の配信リストからアカウントを削除します。

delete-private-distribution-accountコマンドの形式:

ask api delete-private-distribution-account <-s|--skill-id <スキルID>> --stage live <--account-id <id>>

オプション:

--skill-id、-s
必須です。ターゲットスキルのIDです。
--stage
任意です。スキルのステージを表します。このコマンドでは、デフォルトのliveのみがサポートされます。
--account-id
必須です。Alexa for Business企業のアカウントARNです(arn:aws:iam::123456789012:rootなど)。

list-private-distribution-accountsサブコマンド

スキルを指定して非公開の配信リストにあるアカウントのリストを表示します。

list-private-distribution-accountsコマンドの形式:

$ ask api list-private-distribution-accounts <-s|--skill-id <スキルID> --stage live

オプション:

--skill-id、-s
必須です。ターゲットスキルのIDです。
--stage
任意です。スキルのステージを表します。このコマンドでは、デフォルトのliveのみがサポートされます。

enable-skillサブコマンド

skillIdstageを指定して有効にします。

$ ask api enable-skill <-s|--skill-id <スキルID> [-g|--stage <ステージ>]

オプション:

--skill-id、-s
必須です。ターゲットスキルのIDです。
--stage
任意です。スキルのステージを表します。このコマンドでは、デフォルトのdevelopmentのみがサポートされます。

disable-skillサブコマンド

skillIdstageを指定して無効にします。

$ ask api disable-skill <-s|--skill-id <スキルID> [-g|--stage <ステージ>]

オプション:

--skill-id、-s
必須です。ターゲットスキルのIDです。
--stage
任意です。スキルのステージを表します。このコマンドでは、デフォルトのdevelopmentのみがサポートされます。

get-skill-enablementサブコマンド

指定されたskillIdstageの有効かどうかを確認します。

$ ask api get-skill-enablement <-s|--skill-id <スキルID> [-g|--stage <ステージ>]

オプション:

--skill-id、-s
必須です。ターゲットスキルのIDです。
--stage
任意です。スキルのステージを表します。このコマンドでは、デフォルトのdevelopmentのみがサポートされます。

invoke-skillサブコマンド

指定したスキルを呼び出します。このコマンドを使えるようにするには、まずAlexaアプリからスキルを有効にする必要があります。

invoke-skillコマンドの形式:

$ ask api invoke-skill [-f|--file <ファイル>] [-s|--skill-id <スキルID>] [-j|--json <json>] [-e|--endpoint-region <エンドポイントのリージョン>] [-g|--stage <ステージ>] [-p|--profile <プロファイル>] [--debug]

オプション:

--skill-id、-s
必須です。amzn1.ask.skill.12345678-1234-1234-123456789123の形式で指定する必要があります。
--file、-f
<-j、--json>を指定する場合は使用しません。それ以外の場合は必須です。スキル呼び出しリクエストファイルへのパスです。リクエストの形式はこちらに定義されています。絶対または相対パスで指定できます。
--json、-j
<-f、--file>を指定する場合は使用しません。それ以外の場合は必須です。JSON文字列です。
--endpoint-region、-e

必須です。スキルで使用するエンドポイントのリージョンを指定します。「NA」、「EU」、「FE」、「default」のいずれかです。「default」のリージョンは、スキルマニフェストapis.custom.endpointによって指定されるグローバルデフォルトエンドポイントによって決まります。

--stage、-g
任意です。スキルのステージを表します。値として、developmentliveのいずれかを使用します。デフォルトはdevelopmentです。
--profile、-p
任意です。デフォルト以外のプロファイルを使うには、プロファイル名を指定します。
--debug
任意です。標準エラー出力にデバッグメッセージを追加します。

simulate-skillサブコマンド

指定したスキルをシミュレートします。このコマンドを使えるようにするには、まずAlexaアプリからスキルを有効にする必要があります。

simulate-skillコマンドの形式:

$ ask api simulate-skill [-f|--file <ファイル>] [-t|--text <テキスト>] [-l|--locale <ロケール>] [-s|--skill-id <スキルID>] [-g|--stage <ステージ>] [--force-new-session] [-p|--profile <プロファイル>] [--debug]

オプション:

--file、-f
<-t、--text>を指定する場合は使用しません。それ以外の場合は必須です。シミュレーションに使う発話テキストコンテンツファイルへのパスです。絶対または相対パスで指定できます。
--text、-t
<-f、--file>を指定する場合は使用しません。それ以外の場合は必須です。スキルのシミュレートに使用する発話テキストを入力します。
--locale、-l
ASK_DEFAULT_DEVICE_LOCALE環境変数がセットされている場合は任意、それ以外は必須です。シミュレートするスキルのロケールです。有効な値は、en-USen-GBde-DEのいずれかです。指定しない場合、ロケールを入力するようプロンプトが出ます。
--skill-id、-s
必須です。amzn1.ask.skill.12345678-1234-1234-123456789123の形式で指定する必要があります。
--stage、-g
任意です。スキルのステージを表します。値として、developmentliveのいずれかを使用します。デフォルトはdevelopmentです。
--force-new-session
任意です。新しいダイアログセッションを開始してからシミュレーションを実行します。
--profile、-p
任意です。デフォルト以外のプロファイルを使うには、プロファイル名を指定します。
--debug
任意です。標準エラー出力にデバッグメッセージを追加します。

get-simulationサブコマンド

指定したシミュレーションIDのシミュレーション結果を取得します。simulate-skillコマンドを実行するたびに、シミュレーションIDが生成されます。

get-simulationコマンドの形式:

$ ask api get-simulation [-i|--simulation-id <シミュレーションID>] [-s|--skill-id <スキルID>] [-g|--stage <ステージ>] [-p|--profile <プロファイル>] [--debug]

オプション:

--simulation-id、-i
必須です。UUIDの形式b8e4ea04-7df3-11e7-bb31-be2e44b06b34で指定する必要があります。
--skill-id、-s
必須です。amzn1.ask.skill.12345678-1234-1234-123456789123の形式で指定する必要があります。
--profile、-p
任意です。デフォルト以外のプロファイルを使うには、プロファイル名を指定します。
--stage、-g
任意です。スキルのステージを表します。値として、developmentliveのいずれかを使用します。デフォルトはdevelopmentです。
--debug
任意です。標準エラー出力にデバッグメッセージを追加します。

intent-requests-historyサブコマンド

ユーザーの音声データやインテントリクエストの詳細を集めて匿名化した記録を、スキルごとにスキル開発者に提供します。その日のそのロケールのデータを使用できるようにするためには、1つのスキルに対し、ロケールごとに1日最低10人のユニークユーザーを必要とします。しきい値に達したロケールと達しなかったロケールがある場合、しきい値に達したロケールのデータのみが返されます。

$ ask api intent-requests-history <-s|--skill-id <スキルID>> [--filters <値>] [--max-results <値>] [--sort-direction <値>] [--sort-field <値>] [--next-token <値>]

フィルターを適用せず、かつデフォルトを変更せずにスキルのインテントリクエスト履歴を取得するには、以下の例のとおり、他のパラメーターを指定せずにスキルIDを参照します。

$ ask api intent-requests-history --skill-id amzn1.ask.skill.12345678-1234-1234-123456789123

オプション:

--skill-id、-s
必須です。amzn1.ask.skill.12345678-1234-1234-123456789123の形式で指定する必要があります。
--filters
任意です。フィルターは以下の例の形式になります。
スキルのインテントリクエスト履歴を1ページに最大100件表示するには、以下のように指定します。
$ ask api intent-requests-history --skill-id amzn1.ask.skill.12345678-1234-1234-123456789123 --max-results 100

en-USとen-GBのロケールのみが含まれるようフィルタリングされたインテントリクエスト履歴を取得するには、以下のように指定します。

$ ask api intent-requests-history --skill-id amzn1.ask.skill.12345678-1234-1234-123456789123 --filters "Name=locale, Values=en-US,en-GB"

複数のフィルターを使用してスキルのインテントリクエスト履歴を取得するには、以下のように指定します。

$ ask api intent-requests-history --skill-id amzn1.ask.skill.12345678-1234-1234-123456789123 --filters "Name=locale, Values=en-US,en-GB; Name=intent.name, Values=PlayMusic,StopMusic"

省略した構文は以下のとおりです。

Name=string,Values=string,string ...

以下のパラメーターでフィルタリングできます。

dialogAct.name - dialogAct.nameフィルターは、「dialogAct.name」の値がこのフィルターの値のいずれかに一致する場合、その結果を表示します。このフィルターは複数の値を持つことができます。このフィルターは大文字と小文字を区別しません。これらの値は、マルチターンの会話のコンテキストで発生します。Dialogディレクティブとマルチターンの会話の詳細については、Dialogインターフェースのリファレンスを参照してください。(Dialog.ElicitSlot | Dialog.ConfirmSlot | Dialog.ConfirmIntent)

locale - localeフィルターは、localeの値がこのフィルターの値のいずれかに一致する場合、その結果を表示します。このフィルターは複数の値を持つことができます。このフィルターは大文字と小文字を区別しません。(en-US | en-GB | en-IN | en-CA | en-AU | de-DE | fr-FR | ja-JP)

intent.confidence.bin - intent.confidence.binフィルターは、intent.confidence.binの値がこのフィルターの値のいずれかに一致する場合、その結果を表示します。実行時にはスキルは信頼度LOWのインテントを受け取らないことに注意してください。このフィルターは複数の値を持つことができます。このフィルターは大文字と小文字を区別しません。(HIGH | MEDIUM | LOW)

stage - stageフィルターは、stageの値がこのフィルターの値のいずれかに一致する場合、その結果を表示します。このフィルターは複数の値を持つことができます。このフィルターは大文字と小文字を区別しません。(live | development)

publicationStatus - publicationStatusフィルターは、publicationStatusの値がこのフィルターの値のいずれかに一致する場合、その結果を表示します。このフィルターは複数の値を持つことができます。このフィルターは大文字と小文字を区別しません。(CERTIFICATION | DEVELOPMENT)

utteranceText - utteranceTextフィルターは、utteranceTextの値をフルテキスト検索した結果を表示します。このフィルターは複数の値を持つことができます。このフィルターは大文字と小文字を区別しません。(すべての文字列)

intent.name - intent.nameフィルターは、intent.nameの値がこのフィルターの値のいずれかに一致する場合、その結果を表示します。このフィルターは複数の値を持つことができます。このフィルターは大文字と小文字を区別しません。(すべての文字列)

intent.slot.name - intent.slot.nameフィルターは、intent.slots.slot.nameの値がこのフィルターの値の1つ以上に一致する場合、その結果を表示します。このフィルターは複数の値を持つことができます。このフィルターは大文字と小文字を区別しません。(すべての文字列)

interactionType - interactionTypeフィルターは、interactionTypeの値がこのフィルターの値に一致する場合、その結果を表示します。このフィルターは複数の値を持つことができます。このフィルターは大文字と小文字を区別しません。(ONE_SHOT | MODAL)
--max-results
任意です。返される結果の項目の最大数です。デフォルトでは、この数は10に設定されています。maxResultsの上限は250です。1から250までの正の整数です(1と250も含む)。
--sort-direction
任意です。適用されるソートの順序です。デフォルトでは、ソートの順序は降順です。このフィールドは大文字と小文字を区別しません。(asc | desc)
--sort-field
任意です。結果の項目は、このアトリビュートで指定したフィールドの値に従ってソートされます。ソートの順序は、--sort-directionという別のアトリビュートで定義します。このフィールドは大文字と小文字を区別しません。(dialogAct.name | locale | intent.confidence.bin | stage | intent.name | utteranceText | interactionType | publicationStatus)
--next-token
任意です。nextTokenは、結果の項目に連続的にページ番号をふるために使用されます。nextTokenはmaxResultsパラメーターと共に使用し、ページに読み込む結果の数を指定します。最初のページを読み込むには、このプロパティをnullに設定します。有効期間は60分です。このトークンは、このトークンを取得するために使用したフィルターとスキルIDのセットに結びついているため、他のパラメーターが使用された場合は無視されます。その場合は、新しい検索パラメーターによって得た結果の最初のページが返されます。

list-catalogsサブコマンド

$ ask api list-catalogs [--max-results <結果項目の最大数>] [--next-token <次のトークン>] [-p|--profile <プロファイル>] [--debug]

選択したプロファイルのvendor-idを指定して、すべてのカタログのリストを表示します。

オプション

--max-results
任意です。返される結果の項目の最大数です。
--next-token
任意です。「nextToken」は、結果の項目に連続的にページ番号をふるために使用されます。最初のページを読み込むには、このプロパティをnullに設定します。
--profile、-p
任意です。更新または作成するプロファイルです。指定したプロファイルが既に存在する場合、CLIはユーザーの入力した内容でプロファイルを上書きします。指定しない場合、CLIは対話型のプロンプトでユーザーに新しいプロファイルの作成か、既存のプロファイルの更新かをたずねます。
--debug
任意です。標準エラー出力にデバッグメッセージを追加します。

get-catalogサブコマンド

$ ask api get-catalog <-c|--catalog-id <カタログID>> [-p|--profile <プロファイル>] [--debug]

catalog-idを指定してカタログの情報を取得します。

オプション

-c、--catalog-id
必須です。リクエストされたカタログのカタログIDです。
--profile、-p
任意です。更新または作成するプロファイルです。指定したプロファイルが既に存在する場合、CLIはユーザーの入力した内容でプロファイルを上書きします。指定しない場合、CLIは対話型のプロンプトでユーザーに新しいプロファイルの作成か、既存のプロファイルの更新かをたずねます。
--debug
任意です。標準エラー出力にデバッグメッセージを追加します。

create-catalogサブコマンド

$ ask api create-catalog <--catalog-type <カタログの種類>> <--catalog-title <カタログのタイトル>> <--catalog-usage <カタログの用途>> [-p|--profile <プロファイル>] [--debug]

catalog-type、catalog-title、catalog-usageに基づいて新しいカタログを作成します

オプション

--catalog-type
必須です。新しいカタログの種類です。次のいずれかを選択します。 「AMAZON.MusicAlbum」、「AMAZON.MusicGroup」、「AMAZON.Genre」、「AMAZON.MusicPlaylist」、「AMAZON.MusicRecording」、「AMAZON.BroadcastChannel」。catalog-type値はcatalog-usage値と一致する必要があります。このため、「AMAZON.MusicAlbum」をcatalog-typeとして選択する場合は、「AlexaMusic.Catalog.MusicAlbum」をcatalog-usage値として選択する必要があります。
--catalog-title
必須です。新しいカタログのタイトルです。
--catalog-usage
必須です。新しいカタログの用途です。次のいずれかを選択します。 「AlexaMusic.Catalog.MusicAlbum」、「AlexaMusic.Catalog.MusicGroup」、「AlexaMusic.Catalog.Genre」、「AlexaMusic.Catalog.MusicPlaylist」、「AlexaMusic.Catalog.MusicRecording」、「AlexaMusic.Catalog.BroadcastChannel」。選択した値はcatalog-type値に対応する必要があります。
--profile、-p
任意です。更新または作成するプロファイルです。指定したプロファイルが既に存在する場合、CLIはユーザーの入力した内容でプロファイルを上書きします。指定しない場合、CLIは対話型のプロンプトでユーザーに新しいプロファイルの作成か、既存のプロファイルの更新かをたずねます。
--debug
任意です。標準エラー出力にデバッグメッセージを追加します。

list-catalog-uploadsサブコマンド

$ ask api list-catalog-uploads <-c|--catalog-id <カタログID>> [--max-results <結果項目の最大数>] [--next-token <次のトークン>] [-p|--profile <プロファイル>] [--debug]

指定したカタログのすべてのアップロード情報のリストを表示します。

オプション

-c、--catalog-id
必須です。アップロードをリストするカタログのIDです。
--max-results
任意です。返される結果の項目の最大数です。
--next-token
任意です。「nextToken」は、結果の項目に連続的にページ番号をふるために使用されます。最初のページを読み込むには、このプロパティをnullに設定します。
--profile、-p
任意です。更新または作成するプロファイルです。指定したプロファイルが既に存在する場合、CLIはユーザーの入力した内容でプロファイルを上書きします。指定しない場合、CLIは対話型のプロンプトでユーザーに新しいプロファイルの作成か、既存のプロファイルの更新かをたずねます。
--debug
任意です。標準エラー出力にデバッグメッセージを追加します。

get-catalog-uploadサブコマンド

$ ask api get-catalog-upload <-c|--catalog-id <カタログID>> <-u|--upload-id <アップロードID>> [-p|--profile <プロファイル>] [--debug]

アップロードの詳細を取得します。

オプション

-c、--catalog-id
必須です。リクエストされたカタログのカタログIDです。
-u、--upload-id
必須です。アップロードのIDです。
--profile、-p
任意です。更新または作成するプロファイルです。指定したプロファイルが既に存在する場合、CLIはユーザーの入力した内容でプロファイルを上書きします。指定しない場合、CLIは対話型のプロンプトでユーザーに新しいプロファイルの作成か、既存のプロファイルの更新かをたずねます。
--debug
任意です。標準エラー出力にデバッグメッセージを追加します。

associate-catalog-with-skillサブコマンド

$ ask api associate-catalog-with-skill <--skill-id <スキルID>> <-c|--catalog-id <カタログID>> [-p|--profile <プロファイル>] [--debug]

カタログをスキルに関連付けます。

オプション

-s、--skill-id
必須です。すべての関連するカタログのリストを表示するスキルのIDです。
-c、--catalog-id
必須です。リクエストされたカタログのカタログIDです。
--profile、-p
任意です。更新または作成するプロファイルです。指定したプロファイルが既に存在する場合、CLIはユーザーの入力した内容でプロファイルを上書きします。指定しない場合、CLIは対話型のプロンプトでユーザーに新しいプロファイルの作成か、既存のプロファイルの更新かをたずねます。
--debug
任意です。標準エラー出力にデバッグメッセージを追加します。

upload-catalogサブコマンド

$ ask api upload-catalog <-c|--catalog-id <カタログID>> <-f|--file <ファイル>> [-p|--profile <プロファイル>] [--debug]

ファイルでカタログを更新します。アップロードでは、マルチパートアップロード方式を利用して新しいコンテンツをAmazon S3(シンプルなクラウドストレージソリューション)バケットにアップロードします。

このコマンドを入力するプロセスは次のとおりです。

  1. まずASK CLIが、デフォルトのパートサイズ(8MB)に基づいて算出したパート数を提案します。
  2. その後、このコマンドがカタログのアップロードを作成するリクエストを送信します。次に、パート数を確認するか、別の数を指定するかをたずねるプロンプトが出されます。ASK CLIは指定可能なパート数の範囲を表示します。上限は各パートが5MB以上になることを保証する数となります。
  3. ASK CLIはアップロードを作成する署名済みURLのリストをAmazon S3から受信します。
  4. ASK CLIはファイルをストリームで読み込み、先ほど確認したパート数にファイルを分割します。
  5. すべてのパートが正常にアップロードされたら、ASK CLIは各パートのeTagのリストを送信してアップロードを完了します。

オプション

-c、--catalog-id
必須です。リクエストされたカタログのカタログIDです。
-f、--file
必須です。catalogコンテンツを含むファイルです。
--profile、-p
任意です。更新または作成するプロファイルです。指定したプロファイルが既に存在する場合、CLIはユーザーの入力した内容でプロファイルを上書きします。指定しない場合、CLIは対話型のプロンプトでユーザーに新しいプロファイルの作成か、既存のプロファイルの更新かをたずねます。
--debug
任意です。標準エラー出力にデバッグメッセージを追加します。

utilコマンド

utilコマンドは、Alexaスキルの作成を管理するユーティリティツールを提供します。

サブコマンド

タスク サブコマンド
LWA(Login With Amazon)のaccess_tokenとrefresh_tokenを生成します。これらは、Alexa開発者用ツールで必要になる可能性があります。 generate-lwa-tokens

generate-lwa-tokens

LWAのアクセストークンと更新トークンを生成します。スキルがAlexa開発者用ツールにアクセスする際に必要になる可能性があります。

この機能を使用するには、以下の手順でURLをホワイトリストに登録する必要があります。

  1. https://developer.amazon.com/home.htmlに移動します。
  2. 上のメニューバーで設定を選択します。
  3. サブメニューバーでセキュリティプロファイルを選択します。
  4. 使用するプロファイルを選択し、ウェブ設定を選択します。プロファイルがない場合、セキュリティプロファイルを新規作成をクリックし、手順に従って作成します。
  5. 編集をクリックして、許可された返信URLhttp://127.0.0.1:9090/cb(デフォルトオプションを使ってブラウザを開く場合)、https://s3.amazonaws.com/ask-cli/response_parser.html--no-browserオプションを使う場合)のいずれかのURLをコピーして貼り付けます。
  6. 変更を保存します。

generate-lwa-tokensコマンドの形式

$ ask util generate-lwa-tokens [--scope <スコープ>] [--no-browser]

オプション

--scope
任意です。Alexa開発者ポータルにログインするユーザーから、特定のスコープ(複数可)をリクエストします。scopesオプションが指定されない場合、デフォルトでASK CLIと同じスコープが使用されます。
--no-browser
任意です。ブラウザを開く代わりに認証画面のURLを表示します。開発者はコンソールに表示されたURLをコピーし、別のデバイスのウェブブラウザでリンクを開いてAmazonのログインページに移動します。

CLIウィンドウに、クライアントIDクライアントシークレットを入力するようプロンプトが出されます。セキュリティプロファイルからこれらの値を取得します。セキュリティプロファイルにアクセスするには、https://developer.amazon.com/home.htmlを開き、セキュリティプロファイルを選択します。セキュリティプロファイルを開いて、クライアントIDとクライアントシークレットをコピーします。

クライアントIDクライアントシークレットを入力すると、開発者アカウントを使ってAmazonのSMAPI CLIページにログインするようプロンプトが出されます。ログインすると、CLIウィンドウにaccess_tokenとrefresh_tokenの値が表示されます。

lambdaコマンド

Lambdaコマンドを使うと、AWS Lambda関数のコードを取得してアップロードできます。

lambdaコマンドの形式:

$ ask lambda <サブコマンド> [-f|--function <関数名>] [その他のオプション]

サブコマンド

タスク サブコマンド
既存のLambda関数をダウンロードします download
既存のLambda関数をアップロードします upload
Lambda関数のCloudwatchログを表示します log

downloadサブコマンド

指定したLambda関数のコードを指定した場所(指定は任意)にダウンロードします

downloadコマンドの形式:

$ ask lambda download [-f|--function <関数名>] [-d|--dest <ダウンロード先のパス>]

オプション:

--function、-f
任意です。Lambda関数の名前です。このオプションがセットされない場合、ダウンロードを実行すると設定されたアカウントのLambda関数のリストを表示します。開発者はこの番号付きリストから1つ選択できます。
--dest、-d
任意です。Lambda関数のダウンロード先の場所を指定します。指定されない場合、Lambdaは現在の作業ディレクトリにダウンロードされます。

uploadサブコマンド

現在のディレクトリまたは指定ディレクトリのファイルを指定したLambda関数にアップロードします。

uploadコマンドの形式:

$ ask lambda upload [-f|--function <関数名>] [-s|--src <ソースディレクトリのパス>]

オプション:

--function、-f
必須です。ターゲットのLambda関数名を指定します。
--src、-s
任意です。アップロード元のソースディレクトリを指定します。指定しない場合、現在の作業ディレクトリのコンテンツがアップロードされます。

logサブコマンド

指定したLambda関数のCloudWatchログを表示できます。

logコマンドの形式:

$ ask lambda log [-f|--function ] [--start-time ] [--end-time ] [--limit ] [--raw] </code>

オプション:

--function、-f
必須です。Lambda関数の名前です。
--start-time
任意です。表示するログの開始時間です。1日前の場合は1dayago、30時間前の場合は30hoursagoの形式で記述する必要があります。デフォルトは1dayagoです。
--end-time
任意です。表示するログの終了時間です。1日前の場合は1dayago、30時間前の場合は30hoursagoの形式で記述する必要があります。
--limit
任意です。表示するログエントリの数を表す整数値です。
--raw
任意です。色や書式なしでログを表示します。

ASK CLIコマンドのデバッグモード

ほとんどのコマンドは、説明に記載されているとおり、デバッグモードで実行できます。デバッグモードにするには、コマンドに--debugを追加します。

コマンドの実行完了後にデバッグメッセージが表示される(標準エラー出力に送られる)以外は、–debugを指定しない場合と同じ結果が表示されます。このデバッグメッセージには以下のフィールドがあります。

{timestamp, api-name, request-id, method, url, response-code, request-header, request-body, response-header, response-body}

これらの結果を保存するには、コマンドを実行し、パイプを使って以下のように出力をローカルテキストファイルに送ります。

ask some-command --debug 2> debug.txt

スキル内商品コマンドリファレンス