ASK CLIコマンドリファレンス(v0)
- ASK CLIのコマンド
- initコマンド
- newコマンド
- deployコマンド
- cloneコマンド
- simulateコマンド
- apiコマンド
- create-skillサブコマンド
- get-skillサブコマンド
- deleteサブコマンド
- update-skillサブコマンド
- get-modelサブコマンド
- update-modelサブコマンド
- get-model-statusサブコマンド
- get-skill-statusサブコマンド
- head-modelサブコマンド
- create-account-linkingサブコマンド
- get-account-linkingサブコマンド
- submitサブコマンド
- withdrawサブコマンド
- list-vendorsサブコマンド
- list-skillsサブコマンド
- add-private-distribution-accountサブコマンド
- delete-private-distribution-accountサブコマンド
- list-private-distribution-accountsサブコマンド
- invoke-skillサブコマンド
- simulate-skillサブコマンド
- get-simulationサブコマンド
- lambdaコマンド
- ASK CLIコマンドのデバッグモード
Alexa Skills Kitコマンドラインインターフェース(ASK CLI)のセットアップの詳細については、Alexa Skills Kitコマンドラインインターフェースのクイックスタートガイドを参照してください。このドキュメントでは、ASK CLIで利用できるすべてのコマンドについて説明します。
ASK CLIのコマンド
開発者アカウントに関連付けられたスキルを処理するASK CLIのコマンドには、2つの種類があります。
- 1つのコマンドで複数のアクションを実行できる上位コマンドです。スキル開発初心者の方や、API呼び出しを細かく制御する必要がない場合に最適です。
new
、deploy
、clone
、simulate
は上位コマンドです。 - 下位のコマンドは、Alexaスキルの細部を個別に管理するのに使用できます。Alexaスキル管理API操作のシンラッパーとして機能するため、各ASK CLIアクションを細かく制御することができます。すでにアカウントに追加したスキルの一部を変更する場合に特に便利です。
api
、lambda
は下位コマンドです。
$ ask <command> <subcommand> [options]
ASK CLIのコマンドにより、以下のタスクを実行できます。
タスク | コマンドまたはオプション |
---|---|
ツールや特定のコマンドのヘルプを取得します。 | ask [command] -h | --help |
バージョン番号を確認します。 | ask -v | --version |
Amazon開発者アカウント認証情報を使ってASK CLIを初期化します。スキル操作を実行する前に開発者アカウントの認証情報を使用してツールを初期化するには、このコマンドを実行します。このコマンドはポート9090を使用します。ポートが使用中の場合、エラーになりますのでご注意ください。 | ask init |
コンピューターに新しいAlexaスキルプロジェクトを作成すします(最小限の変更で作成先に必要なフォルダーやファイルも作成)。 | ask new |
スキルのマニフェスト、対話モデル、AWS Lambda関数を含むスキルを開発者アカウントにデプロイします。 | ask deploy |
既存のスキルのクローンをローカルのスキルプロジェクトに作成して、スキルプロジェクトを作成します。 | ask clone |
ask api simulate-skillを呼び出し、完了するまでシミュレーションステータスのポーリングを継続します。パラメーターは、ask api simulate-skill と同じです。 |
ask simulate |
スキル管理とは別に、AWS Lambda関数のコードを作成および更新します。 | ask lambda [subcommand] |
開発者アカウントに関連付けられたAlexaスキルの詳細を管理します。Alexaスキルの一部を作成または更新する場合は、これらのコマンドを使用します。 | ask api [subcommand] |
initコマンド
CLIの認可を行ってAmazon開発者アカウントに関連付けられたスキルの作成や変更を行うには、initコマンドを実行する必要があります。
init
コマンドの形式:
$ ask init [-p| --profile <profile>] [--no-browser] [-l| --list-profiles] [--debug]
デフォルトでは、ブラウザウィンドウが開いてサインイン画面が表示されます。
- Amazon開発者アカウントの認証情報を使ってサインインします。
- ASK CLIを初めて初期化する場合は、ASK CLIに権限を付与します。
- 開発者アカウントでサインインしてASK CLIに権限を付与したら、ブラウザを閉じてコマンドプロンプトに戻ります。
- アカウントに関連付けたベンダーIDが1つの場合、そのIDがASK CLIを使用するよう設定されます。
- 401権限なしエラーを受信した場合、開発者アカウントは、Alexaスキル管理APIを使用する権限がありません。
-
開発者アカウントに関連付けたベンダーIDが複数ある場合、ベンダーを選択するプロンプトが表示されます。複数の組織でAlexaスキルを管理している場合などです。特定の組織のベンダーIDを確認するには、developer.amazon.comに開発者アカウントでサインインします。右上のドロップダウンメニューからスキルを管理する組織を選択します。その組織のベンダーIDを表示するには、[https://developer.amazon.com/mycid.html](https://developer.amazon.com/mycid.html)に移動します。
$ Choose the vendor ID for the skills you want to manage 1) Amazon: M123456789 2) Sample-Vendor: M987654321
- 次のエラー:
Token refresh error
が発生した場合、認可トークンの有効期限が切れているため、ASK CLIはトークンを更新できません。インターネットに接続されていることを確認し、もう一度実行してください。
次のメッセージ「Profile Vendor ID updated」が出力されたら、ASK CLIは正常に初期化されています。ASK CLIに関連付けられたベンダーは、以下の場所で確認できます。
- Linux/Mac:
~/.ask/cli_config
- Windows:
%USERPROFILE%/.ask/cli_config
オプション:
- --no-browser
- 任意です。このオプションは、同じ開発環境で、ブラウザを開かずにASK CLIを初期化する方法です。代わりに、コンソールに表示されるURLをコピーし、別の場所のウェブブラウザを使ってリンクを開くことができます。リンクを開くと、Amazonのログインページに移動します。サインインしてターミナルにAuthcodeをコピーすると、ASK CLIが初期化されます。
- この初期化ワークフローは、コンソールしかない環境でASK CLIを使用する必要のある開発者の方に便利です。
- --profile、-p
- 任意です。更新または作成するプロファイルです。指定しない場合は、デフォルトのプロファイルが使用されます。
- --list-profiles、-l
- 任意です。開発者の環境にあるすべてのプロファイルを一覧表示します。
- --debug
- 任意です。標準エラー出力にデバッグメッセージを追加します。
$ ask init
コマンドをもう一度実行して、別のベンダーIDを選択すると、スキルを管理している組織を変更できます。newコマンド
現在のディレクトリに新しいスキルのプロジェクトを作成します。new
コマンドを使用して、最低限の変更でスキルのデプロイに必要なディレクトリやファイルを作成します。
スキルの親ディレクトリ名は指定したスキル名と同じです。親ディレクトリにはASK CLIを使ってスキルを管理するために必要なファイルやディレクトリが含まれます。以下の例は、en-USロケールのカスタムスキル用に作成されたディレクトリとファイルです。
-skillName
-.ask
-config
-lambda
-custom
-index.js
-models
-en-US.json
-skill.json
スキルは、$HOME/.ask/cli_config
ファイルに含まれるデフォルトのプロファイル情報を使って作成されます。cli_config
ファイルには、skillid
など、プロファイルごとのデプロイ設定が含まれます。
new
コマンドの形式:
ask new [--template [template-name] [--url <url>]] [-n|--skill-name <name>] [-p| --profile <profile>] [--lambda-name <lambda-name>]
オプション:
- --template [template-name] [--url <url>]
- 任意です。スキルパッケージの生成元テンプレートです。
template-name
を省略した場合、ASK CLIはリストからテンプレートを選択するようプロンプトを表示します。オプションで、--url <url>
を使って独自のテンプレートリストを指定できます。リストのURLが公開されアクセス可能であること、テンプレートのリポジトリが公開されていることを検証します。デフォルトのリストであるhttps://s3.amazonaws.com/ask-cli/templates.jsonは、Alexa GitHubのリポジトリを使用します。--template
を使用している場合、--skill-name
を省略すると、スキル名がデフォルトでテンプレート名となることにご注意ください。 - --skill-name、-n
- 任意です。スキルに割り当てるスキル名です。英字(a~z)、数字(0~9)、アンダースコア(_)、ダッシュ(-)を使用できます。
--template
を指定して--skill-name
を省略すると、スキル名はデフォルトでテンプレート名になります。--template
を指定しない場合に--skill-name
を省略すると、ASK CLIはスキル名を指定するようプロンプトを表示します。 - --profile、-p
- 任意です。スキル作成時に使用するプロファイルです。指定しない場合は、デフォルトのプロファイルが使用されます。
- --lambda-name
- 任意です。
--template
の省略時のみ有効です。スキルのAWS Lambda関数名です。
deployコマンド
開発者アカウントにスキルプロジェクトをデプロイします。オプションでAWS Lambdaコードもデプロイします。
AWS Lambdaを使用してスキルサービスをホストしている場合、以下がデプロイされます。
- カスタムスキルの場合、
skill.json
ファイル、対話モデルファイル、AWS Lambda関数コードファイル - スマートホームスキルの場合、
skill.json
ファイルとコードファイル - フラッシュブリーフィングスキルの場合、
skill.json
ファイル
スキルが一度もデプロイされていない場合、ASK CLIは新しいスキルとask-<skillType>-<skillName>-<profile>
という名前のAWS Lambda関数を作成します(<skillType>
、<skillName>
、profile
に指定された適切な型、名前、プロファイルを使用)。AWS Lambda関数が、「ask-lambda-
新たに作成されたスキルIDとAWS Lambda ARNが、$HOME/.ask/config
のスキルコンフィギュレーションファイルに書き込まれます。
スキルがすでに存在する場合、ASK CLIは既存のスキルを更新します。更新されるリソースには、メタデータやサンプル発話、該当する場合はAWS Lambda関数のリソースが含まれます。このスキルパッケージが以前にask clone
を使用して既存のスキルをダウンロードすることによって作成され、パッケージでask deploy
を初めて実行する場合、ASK CLIはアカウントの既存スキルを上書きするかどうかを確認するプロンプトを表示します。
スキルのuri
が次の形式の場合、AWS ARNを指定してスキルをデプロイすると、skill.jsonファイルのendpoint
オブジェクトは次のように変更されます。
"apis": {
"custom": {
"endpoint": {
"uri": "arn:aws:lambda:us-east-1:040623927470:function:sampleSkill"
},
"regions": {
"NA": {
"endpoint": {
"uri": "https://customapi.sampleskill.com",
"sslCertificateType": "Trusted"
}
}
}
}
}
スキルをデプロイすると、この形式に変更されます。
"apis": {
"custom": {
"endpoint": {
"sourceDir": "./lambda/custom/."
},
"regions": {
"NA" : {
"endpoint": {
"uri": "https://customapi.sampleskill.com",
"sslCertificateType": "Trusted"
}
}
}
}
deploy
コマンドの形式:
ask deploy [--no-wait] [--target <target>] [-p| --profile <profile>] [--debug]
オプション:
- --no-wait
- 任意です。開発者がデプロイに関して非同期の選択や操作ができるようになるオプションです。このフラグをセットすると、deployコマンドはモデルのビルドを待機しなくなります。
- --target、-t
- 任意です。「target」により、スキルのAWS lambdaコード、スキルプロジェクト、またはその両方をデプロイするかを指定します。「target」の有効な値は、「all」、「lambda」、「skill」、「model」のいずれかです。指定しない場合のデフォルト値は「all」です。
- --profile、-p
- 任意です。スキル作成時に使用するプロファイルです。指定しない場合は、デフォルトのプロファイルが使用されます。
- --debug
- 任意です。標準エラー出力にデバッグメッセージを追加します。
各endpoint:uri形式に対する変更を以下に示します。
sourceDirを指定した場合 | sourceDirを指定しない場合 | |
---|---|---|
uri:arn | lambda関数をsourceDirからのコードベースを使用するよう更新します sourceDir | 何も実行されません |
uri: function-name (AWSを呼び出すことによりARNを取得) | sourceDirからのlambdaユーザーコードベースを更新します sourceDir | 何も実行されません |
uri: function-name (新規作成、AWSで見つからない) | lambda関数を作成し、関数名とコードベースを使用します | エラー |
uri: https | 何も実行されません | 何も実行されません |
uriなし uri | lambda関数、ユーザー、スキル名、コードベースを作成し、ARNをコンフィギュレーションファイルに戻します | apis オブジェクトが存在する場合はエラーです。 |
cloneコマンド
既存のスキルのクローンを作成して、スキルプロジェクトを作成します。最後にデプロイしたスキルから新しいプロジェクトをセットアップするのに使用します。
clone
コマンドの形式:
$ ask clone [-s|--skill-id <skillId>] [-p| --profile <profile>] [--debug]
オプション:
- --skill-id、-s
- 任意です。ターゲットスキルのスキルIDです。
amzn1.ask.skill.12345678-1234-1234-123456789123
の形式で指定する必要があります。 - --profile、-p
- 任意です。クローンされるスキルのプロファイルです。指定しない場合は、デフォルトのプロファイルが使用されます。
- --debug
- 任意です。標準エラー出力にデバッグメッセージを追加します。
ask clone
がオプションなしで実行された場合、スキルのリスト(LastModifiedの順)が表示され、このリストからクローンするスキルを選択できます。
skill-id
が指定された場合、コマンドは現在のディレクトリにスキルのクローンを作成します。また、存在する場合はサポートドメインのモデルとLambda関数もダウンロードします。スキルのコードがAWS Lambda関数ではなく、ウェブサービスとしてホストされている場合、ダウンロードされません。
スキル定義のダウンロード後、Lambda関数のARNが.ask/configファイルに書き込まれ、skill.jsonファイルのendpoint:uri
プロパティが「sourceDir」で置き換えられます。これは、Lambda関数のコードベースのソースディレクトリです。スキルがLambdaではなく、ウェブサービスとしてホストされている場合、何も置換されません。
simulateコマンド
この機能は、以下のロケールを使用するスキルではサポートされません。
- en-AU
- en-CA
- en-IN
- ja-JP
ask api simulate-skill
を呼び出し、完了するまでシミュレーションステータスのポーリングを継続します。パラメーターは、と同じです。
simulate
コマンドの形式:
$ ask simulate [-f| --file <filepath>] [-t| --text <text>] [-l| --locale <locale>] [-s|--skill-id <skillId>] [-p| --profile <profile>] [--debug]
- --file、-f
- <-t、--text>を指定する場合は使用しません。それ以外の場合は必須です。シミュレーションの発話テキストコンテンツファイルへのパスです。絶対または相対パスで指定できます。
- --text、-t
- <-f、--file>を指定する場合は使用しません。それ以外の場合は必須です。スキルのシミュレートに使用する発話テキストの入力です。
- --locale、-l
- ASK_DEFAULT_DEVICE_LOCALE環境変数がセットされている場合は任意、それ以外は必須です。シミュレートするスキルのロケールです。有効な値は、
en-US
、en-GB
、de-DE
のいずれかです。指定しない場合、ロケールを入力するようプロンプトが表示されます。 - --skill-id、-s
- 必須です。
amzn1.ask.skill.12345678-1234-1234-123456789123
の形式で指定する必要があります。 - --profile、-p
- 任意です。デフォルト以外のプロファイルを使うには、プロファイル名を指定します。
- --debug
- 任意です。標準エラー出力にデバッグメッセージを追加します。
apiコマンド
api
コマンドには複数のサブコマンドがあります。これらのサブコマンドを使うと、開発者アカウントに関連付けられたスキルの作成や変更が可能です。スキル、対話モデル、アカウントリンク情報の作成と更新、スキル認定プロセスの開始を行うサブコマンドがあります。
対話モデルの詳細については、対話モデルを参照してください。
api
コマンドの形式:
$ ask api <subcommand>
サブコマンド
タスク | サブコマンド |
---|---|
新しいスキルを作成します | create-skill |
スキルを取得します | get-skill |
スキルを削除します | delete-skill |
スキルのコンフィギュレーションの詳細を更新します | update-skill |
スキルの対話モデルを取得します | get-model |
モデルを更新する、またはスキルの対話モデルを新規作成しますモデルのビルドがトリガーされます。 | update-model |
対話モデルのモデルステータスを取得します | get-model-status |
createまたはupdateの呼び出し後にスキルのステータスを取得します | get-skill-status |
対話モデルに関連付けられたETagを取得します | head-model |
開発者アカウントに関連付けられたスキルのアカウントリンクコンフィギュレーション情報を追加または更新します | create-account-linking |
スキルのアカウントリンクコンフィギュレーション情報を取得します | get-account-linking |
スキルの認定を申請します | submit |
スキルの認定申請を取り消します | withdraw |
開発者アカウントに関連付けられたベンダーIDを取得します | list-vendors |
ベンダーのスキルリストを表示します | list-skills |
非公開の配信アカウントを追加します | add-private-distribution-account |
非公開の配信アカウントを削除します | delete-private-distribution-account |
非公開の配信アカウントのリストを表示します | list-private-distribution-accounts |
スキルを呼び出します | invoke-skill |
スキルをシミュレートします | simulate-skill |
シミュレーション結果を取得します | get-simulation |
create-skillサブコマンド
skill.jsonファイルから開発者アカウントに関連付けられたスキルを作成します。スキルIDとスキルステータスが返されます。
create-skill
コマンドの形式:
$ ask api create-skill [-f|--file <fileName>] [-p|--profile <profile>] [--debug]
オプション:
- --file、-f
- 必須です。.json形式のスキル情報ファイルへのパスです。絶対または相対パスで指定できます。
- --profile、-p
- 任意です。スキル作成時に使用するプロファイルです。指定しない場合は、デフォルトのプロファイルが使用されます。
- --debug
- 任意です。標準出力にデバッグメッセージを追加します。
get-skillサブコマンド
スキルIDを指定してスキルのスキーマをターミナルに出力します。以下のように>
演算子を使用して、この出力結果をファイルにリダイレクトすることもできます。
$ ask api get-skill -s {skill_id} > skill.json
get-skill
コマンドの形式:
$ ask api get-skill [-s|--skill-id <skillId>] [-p|--profile <profile>] [--debug]
オプション:
- --skill-id、-s
- 必須です。取得するスキルのスキルIDです。
amzn1.ask.skill.12345678-1234-1234-123456789123
の形式で指定する必要があります。 - --profile、-p
- 任意です。スキルのスキーマを出力するプロファイルです。指定しない場合は、デフォルトのプロファイルが使用されます。
- --debug
- 任意です。標準出力にデバッグメッセージを追加します。
deleteサブコマンド
スキルを削除します。一度削除したスキルを取得することはできません。
delete
コマンドの形式:
$ ask api delete-skill [-s|--skill-id <skillId>] [-p|--profile <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 <skillId>] [-f|--file <fileName>] [-p|--profile <profile>] [--debug]
オプション:
- --skill-id、-s
- 必須です。更新するスキルのスキルIDです。
amzn1.ask.skill.12345678-1234-1234-123456789123
の形式で指定する必要があります。 - --file、-f
- 必須です。.json形式のスキル情報ファイルへのパスです。絶対または相対パスで指定できます。
- --profile、-p
- 任意です。スキルのスキーマを作成または更新するプロファイルです。指定しない場合は、デフォルトのプロファイルが使用されます。
- --debug
- 任意です。標準エラー出力にデバッグメッセージを追加します。
get-modelサブコマンド
スキルIDとロケールを指定してスキルのモデルスキーマを取得します。以下のように>
演算子を使用して、この出力結果をファイルにリダイレクトすることもできます。
$ ask api get-model -s {skill_id} -l {locale} > model.json
get-model
コマンドの形式:
$ ask api get-model [-s|--skill-id <skillId>] [-l|--locale <locale>] [-p|--profile <profile>] [--debug]
オプション:
- --skill-id、-s
- 必須です。ターゲットモデルのスキルIDです。
amzn1.ask.skill.12345678-1234-1234-123456789123
の形式で指定する必要があります。 - --locale、-l
- 必須です。ターゲットモデルのロケールです。有効な値は、
en-US
、en-GB
、de-DE
のいずれかです。指定しない場合、ロケールを入力するようプロンプトが表示されます。 - --profile、-p
- 任意です。モデルスキーマを取得するプロファイルです。指定しない場合は、デフォルトのプロファイルが使用されます。
- --debug
- 任意です。標準エラー出力にデバッグメッセージを追加します。
update-modelサブコマンド
指定のスキルとロケールをに、指定の対話モデルスキーマを設定できます。
update-model
コマンドの形式:
$ ask api update-model [-s|--skill-id <skillId>] [-f | --file <fileName>] [-l|--locale <locale>] [-p|--profile <profile>] [--debug]
オプション:
- --skill-id、-s
- 必須です。
amzn1.ask.skill.12345678-1234-1234-123456789123
の形式で指定する必要があります。 - --file、-f
- 必須です。models/{locale}.jsonファイルへのパスです。絶対または相対パスで指定できます。
- --locale、-l
- 必須です。ターゲットモデルのロケールです。有効な値は、
en-US
、en-GB
、de-DE
のいずれかです。指定しない場合、ロケールを入力するようプロンプトが表示されます。 - --profile、-p
- 任意です。スキルを更新するプロファイルです。指定しない場合は、デフォルトのプロファイルが使用されます。
- --debug
- 任意です。標準エラー出力にデバッグメッセージを追加します。
get-model-statusサブコマンド
指定したモデルの開発ステータスを取得します。
get-model-status
コマンドの形式:
$ ask api get-model-status [-s|--skill-id <skillId>] [-l|--locale <locale>] [-p|--profile <profile>] [--debug]
- --skill-id、-s
- 必須です。ステータスを確認しているスキルIDです。
amzn1.ask.skill.12345678-1234-1234-123456789123
の形式で指定する必要があります。 - --locale、-l
- 必須です。ターゲットモデルのロケールです。有効な値は、
en-US
、en-GB
、de-DE
のいずれかです。指定しない場合、ロケールを入力するようプロンプトが表示されます。 - --profile、-p
- 任意です。開発ステータスを取得するプロファイルです。指定しない場合は、デフォルトのプロファイルが使用されます。
- --debug
- 任意です。標準エラー出力にデバッグメッセージを追加します。
get-skill-statusサブコマンド
スキルステータスを取得します。
get-skill-status
コマンドの形式:
$ ask api get-skill-status [-s|--skill-id <skillId>] [-l|--locale <locale>] [-p|--profile <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 <skillId>] [-l|--locale <locale>] [-p|--profile <profile>] [--debug]
オプション:
- --skill-id、-s
- 必須です。ターゲットモデルのスキルIDです。
amzn1.ask.skill.12345678-1234-1234-123456789123
の形式で指定する必要があります。 - --locale、-l
- ターゲットモデルのロケールです(必須)。有効な値は、
en-US
、en-GB
、de-DE
のいずれかです。指定しない場合、ロケールを入力するようプロンプトが表示されます。 - --profile、-p
- 任意です。ETagを取得するプロファイルです。指定しない場合は、デフォルトのプロファイルが使用されます。
- --debug
- 任意です。標準エラー出力にデバッグメッセージを追加します。
create-account-linkingサブコマンド
スキルIDを指定してアカウントリンクコンフィギュレーションの詳細情報を追加または更新します。
create-account-linking
を呼び出すと、以下の値を入力するようプロンプトが表示されます。これらの値の詳細については、ご使用のシステムのユーザーとAlexaユーザーをリンクするおよびaccountLinkingRequestオブジェクトを参照してください。
- 認証画面のURL
- クライアントID
- スコープ(カンマ区切りリスト)
- ドメイン(カンマ区切りリスト)
- Authorization Grant種別 - 矢印キーを使って次のいずれかを選択:
IMPLICIT
またはAUTH_CODE
AUTH_CODE
を選択する場合、追加の情報を入れてください。- アクセストークンURL
- クライアントシークレット
- クライアント認証スキーム:
HTTP_BASIC
またはREQUEST_BODY_CREDENTIALS
- デフォルトのトークン有効期間(秒)(任意)
アカウントリンク情報は、機密保持のためコンピューターには保存されません。
create-account-linking
コマンドの形式:
$ ask api create-account-linking [-s|--skill-id <skillId>] [-p|--profile <profile>] [--debug]
オプション:
- --skill-id、-s
- 必須です。アカウントリンク情報を追加するスキルのIDです。
amzn1.ask.skill.12345678-1234-1234-123456789123
の形式で指定する必要があります。 - --profile、-p
- 任意です。アカウントリンクを作成するプロファイルです。指定しない場合は、デフォルトのプロファイルが使用されます。
- --debug
- 任意です。標準エラー出力にデバッグメッセージを追加します。
get-account-linkingサブコマンド
アカウントリンクコンフィギュレーションの詳細を取得して、コンソールに出力します。セキュリティを守るため、この情報はコンピューターに保存しないでください。
get-account-linking
コマンドの形式:
$ ask api get-account-linking [-s|--skill-id <skillId>] [-p|--profile <profile>] [--debug]
オプション:
- --skill-id、-s
- 必須です。アカウントリンク情報を取得するスキルのIDです。指定する形式:
amzn1.ask.skill.12345678-1234-1234-123456789123
- --profile、-p
- 任意です。アカウントリンクコンフィギュレーションを取得するプロファイルです。指定しない場合は、デフォルトのプロファイルが使用されます。
- --debug
- 任意です。標準エラー出力にデバッグメッセージを追加します。
submitサブコマンド
スキルの認定を申請できます。
submit
コマンドの形式:
$ ask api submit [-s|--skill-id <skillId>] [-p|--profile <profile>] [--debug]
オプション:
- --skill-id、-s
- 必須です。ターゲットスキルのスキルIDです。
amzn1.ask.skill.12345678-1234-1234-123456789123
の形式で指定する必要があります。 - --profile、-p
- 任意です。スキル作成時に使用するプロファイルです。指定しない場合は、デフォルトのプロファイルが使用されます。
- --debug
- 任意です。標準エラー出力にデバッグメッセージを追加します。
withdrawサブコマンド
スキルの認定申請を取り消すことができます。取り消しには、理由を入力するよう求められます。選択肢は以下のとおりです。
- これはテスト用のスキルで、認定対象ではありません
- スキルに機能を追加したいと考えています
- スキルに問題が見つかりました
- 認定申請の結果をまだ受け取っていません
- スキルをすぐに公開する予定がありません。
- その他
その他を選択する場合、取り消し理由の詳細を入力できます。
withdraw
コマンドの形式
$ ask api withdraw [-s|--skill-id <skillId>] [-p|--profile <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 <profile>] [--debug]
サンプル出力:
[
{
"id": "MYVENDORID1234567",
"name": "Amazon",
"roles": [
"ROLE_ADMINISTRATOR"
]
}
]
オプション:
- --profile、-p
- 任意です。デフォルト以外のプロファイルを使うには、プロファイル名を指定します。
- --debug
- 任意です。標準エラー出力にデバッグメッセージを追加します。
list-skillsサブコマンド
開発者アカウントに関連付けられたスキルをJSON形式で一覧表示します。
list-skills
コマンドの形式:
$ ask api list-skills [-p|--profile <profile>] [--debug]
サンプル出力:
{
"skills": [
{
"lastUpdated": "2017-07-11T19:29:57.120Z",
"nameByLocale": {
"en-US": "example"
},
"skillId": "amzn1.ask.skill.6acdbdf8-8420-440e-823e-aaaaaaaabbbb"
},
{
"lastUpdated": "2017-07-05T21:11:16.947Z",
"nameByLocale": {
"en-US": "example1"
},
"skillId": "amzn1.ask.skill.81ded88f-0d0a-4612-aaaaaaaabbbb"
},
{
"lastUpdated": "2017-07-05T21:08:03.693Z",
"nameByLocale": {
"en-US": "example2"
},
"skillId": "amzn1.ask.skill.1e9a668a-1746-451a-b401-aaaaaaaabbbb"
},
{
"lastUpdated": "2017-07-05T17:29:30.046Z",
"nameByLocale": {
"en-US": "example3"
},
"skillId": "amzn1.ask.skill.2801f509-5e8e-4944-b48d-aaaaaaaabbbb"
}
]
}
オプション:
- --profile、-p
- 任意です。デフォルト以外のプロファイルを使うには、プロファイル名を指定します。
- --debug
- 任意です。標準エラー出力にデバッグメッセージを追加します。
add-private-distribution-accountサブコマンド
スキルを指定して非公開の配信リストにアカウントを追加します。
add-private-distribution-account
コマンドの形式:
ask api add-private-distribution-account <-s|--skill-id <skillId>> --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 <skillId>> --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 <skillId>> --stage live
オプション:
- --skill-id、-s
- 必須です。ターゲットスキルのIDです。
- --stage
- 必須です。スキルのステージです。サポートされる値は「live」です。
invoke-skillサブコマンド
この機能は、以下のロケールを使用するスキルではサポートされません。
- en-AU
- en-CA
- en-IN
- ja-JP
指定したスキルを呼び出します。このコマンドを使えるようにするには、まずAlexaアプリからスキルを有効にする必要があります。
invoke-skill
コマンドの形式:
$ ask api invoke-skill [-f|--file <file>] [-s|--skill-id <skillId>] [-j|--json <json>] [-e|--endpointRegion <endPointRegion>] [-p|--profile <profile>] [--debug]
オプション:
- --skill-id、-s
- 必須です。
amzn1.ask.skill.12345678-1234-1234-123456789123
の形式で指定する必要があります。 - --file、-f
- <-j、--json>を指定する場合は使用しません。それ以外の場合は必須です。スキル呼び出しリクエストファイルへのパスです。リクエストの形式はこちらに定義されています。絶対または相対パスで指定できます。
- --json、-j
- <-f、--file>を指定する場合は使用しません。それ以外の場合は必須です。JSON文字列です。
- --endpointRegion、-e
- 必須です。スキルで使用するエンドポイントのリージョンを示します。
- --profile、-p
- 任意です。デフォルト以外のプロファイルを使うには、プロファイル名を指定します。
- --debug
- 任意です。標準エラー出力にデバッグメッセージを追加します。
simulate-skillサブコマンド
この機能は、以下のロケールを使用するスキルではサポートされません。
- en-AU
- en-CA
- en-IN
- ja-JP
指定したスキルをシミュレートします。このコマンドを使えるようにするには、まずAlexaアプリからスキルを有効にする必要があります。
simulate-skill
コマンドの形式:
$ ask api simulate-skill [-f|--file <file>] [-t|--text <text>] [-l|--locale <locale>] [-s|--skill-id <skillId>] [-p|--profile <profile>] [--debug]
オプション:
- --file、-f
- <-t、--text>を指定する場合は使用しません。それ以外の場合は必須です。シミュレーションの発話テキストコンテンツファイルへのパスです。絶対または相対パスで指定できます。
- --text、-t
- <-f、--file>を指定する場合は使用しません。それ以外の場合は必須です。スキルのシミュレートに使用する発話テキストの入力です。
- --locale、-l
- ASK_DEFAULT_DEVICE_LOCALE環境変数がセットされている場合は任意、それ以外は必須です。シミュレートするスキルのロケールです。有効な値は、
en-US
、en-GB
、de-DE
のいずれかです。指定しない場合、ロケールを入力するようプロンプトが表示されます。 - --skill-id、-s
- 必須です。
amzn1.ask.skill.12345678-1234-1234-123456789123
の形式で指定する必要があります。 - --profile、-p
- 任意です。デフォルト以外のプロファイルを使うには、プロファイル名を指定します。
- --debug
- 任意です。標準エラー出力にデバッグメッセージを追加します。
get-simulationサブコマンド
指定したシミュレーションIDのシミュレーション結果を取得します。simulate-skill
コマンドを実行するたびに、シミュレーションIDが生成されます。
get-simulation command format:
$ ask api get-simulation [-i|--simulation-id <simulation-id>] [-s|--skill-id <skillId>] [-p|--profile <profile>] [--debug]
オプション:
- --simulation-id、-i
- 必須です。UUIDの形式(
b8e4ea04-7df3-11e7-bb31-be2e44b06b34
)で指定する必要があります。 - --skill-id、-s
- 必須です。
amzn1.ask.skill.12345678-1234-1234-123456789123
の形式で指定する必要があります。 - --profile、-p
- 任意です。デフォルト以外のプロファイルを使うには、プロファイル名を指定します。
- --debug
- 任意です。標準エラー出力にデバッグメッセージを追加します。
lambdaコマンド
Lambdaコマンドを使うと、AWS Lambda関数のコードを取得してポストできます。
lambda
コマンドの形式:
$ ask lambda <subcommand> [-f|--function <functionName>] [other options]
サブコマンド
タスク | サブコマンド |
---|---|
既存のLambda関数をダウンロードします | download |
既存のLambda関数をアップロードします | upload |
Lambda関数のCloudwatchログを表示します | log |
downloadサブコマンド
指定したLambda関数のコードを指定した場所(指定は任意)にダウンロードします
download
コマンドの形式:
$ ask lambda download [-f|--function <functionName>] [-d|--dest <destPath>]
オプション:
- --function、-f
- 任意です。Lambda関数の名前です。このオプションがセットされない場合、ダウンロードを実行するとコンフィギュレーションされたアカウントのLambda関数のリストを表示します。開発者はこの番号付きリストから1つ選択できます。
- --dest、-d
- 任意です。Lambda関数のダウンロード先の場所を指定します。指定されない場合、Lambdaは現在の作業ディレクトリにダウンロードされます。
uploadサブコマンド
現在のディレクトリまたは指定ディレクトリのファイルを指定したLambda関数にアップロードします。
upload
コマンドの形式:
$ ask lambda upload [-f|--function <functionName>] [-s|--src <sourcePath>]
オプション:
- --function、-f
- 必須です。ターゲットのLambda関数名を指定します。
- --src、-s
- 任意です。アップロード元のソースディレクトリを指定します。指定しない場合、現在の作業ディレクトリのコンテンツがアップロードされます。
logサブコマンド
指定したLambda関数のCloudWatchログを表示できます。
log
コマンドの形式:
$ ask lambda log [-f|--function <functionName>] [--start-time <startTime>]
` [–end-time
**オプション:**
- --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