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



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

Alexa Skills Kitコマンドラインインターフェース(ASK CLI)のセットアップの詳細については、Alexa Skills Kitコマンドラインインターフェースクイックスタートガイドを参照してください。このドキュメントでは、ASK CLIで利用できるすべてのコマンドについて説明します。

ASK CLIのコマンド

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

  • 上位のコマンドはスキルのプロジェクト作業効率を向上させるためのものです。通常、詳細を抽象化し、複数の操作を内部で実行できるようになっています。スキル開発初心者の方や、API呼び出しを細かく制御する必要がない場合に最適です。initnewdeployclonevalidate、およびsimulateは上位コマンドです。
  • 下位のコマンドは、Alexaスキルを詳細に管理するために使用します。Alexaスキル管理API操作のシンラッパーとして機能するため、各API呼び出しを細かく制御することができます。すでにアカウントに追加したスキルの一部を変更する場合に特に便利です。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 diff
スキルの検証テストを実行します。 ask validate
テキスト入力によりスキルの呼び出しをシミュレートします。パラメーターはask api simulate-skillと同じです。 ask simulate
Alexaスキルの作成を管理するユーティリティツールを提供します。 ask util [subcommand]
スキル管理とは別に、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] [--aws-setup] [--debug]

  1. CLIコマンドウィンドウで、ask initと入力します。プロファイルを作成するか、デフォルトプロファイルを選択するようプロンプトが表示されます。使用しているPCでこのコマンドを初めて実行する場合、デフォルトプロファイルが選択されます。デフォルト以外のプロファイルを作成済みの場合、そのプロファイルを選択することもできます。
  2. デフォルト以外のプロファイルを作成する場合、プロファイル名を入力するようプロンプトが表示されます。名前を空白のままにすると、defaultという名前になります。
  3. AWS認証情報をまだ設定していない場合、設定するようプロンプトが表示されます。AWS認証情報を直接設定することも(オプション1)、AWS環境変数を設定することも(オプション2)、AWSの設定を省略することも可能です。

オプション1: AWS認証情報を直接設定する

  • CLIコマンドウィンドウで、「Yes, Setup the AWS credentials」を選択します。この選択は、ask init --aws-setupを選択するのと同じ意味を持ちます。プロファイル名、アクセスキー、シークレットアクセスキーを入力するようプロンプトが表示されます。アマゾンウェブサービスアカウントの認証情報をセットアップするを参照してください。デフォルトでは、ブラウザウィンドウが開いてサインイン画面が表示されます。
  • Amazon開発者アカウントの認証情報を使ってサインインします。
  • ASK CLIを初めて初期化する場合は、ASK CLIに権限を付与します。
  • 開発者アカウントでサインインしてASK CLIに権限を付与したら、ブラウザを閉じてコマンドプロンプトに戻ります。AWS認証情報ファイルは、%USERPROFILE%/.aws/credentialsにあります。

オプション2: AWS環境変数を設定する

  • CLIコマンドウィンドウで、「No. Use the AWS environment variables.」を選択します。 デフォルトでは、ブラウザウィンドウが開いてサインイン画面が表示されます。
  • Amazon開発者アカウントの認証情報を使ってサインインします。
  • ASK CLIを初めて初期化する場合は、ASK CLIに権限を付与します。
  • 開発者アカウントでサインインしてASK CLIに権限を付与したら、ブラウザを閉じてコマンドプロンプトに戻ります。
  • AWSコンソールにログインします。右上のアカウント名から、セキュリティ認証情報を選択します。新しいアクセスキーの作成をクリックします。ポップアップが表示されたら、アクセスキーを表示をクリックします。表示された値をコピーするか、ファイルをダウンロードします。
  • 次に、これらの値をエクスポートして環境変数を作成します。
  • LinuxでAWS環境変数を作成するには、CLIウィンドウで以下のコマンドを入力します。その際、my_access_key_id_valueとmy_aws_secret_access_keyの値をAWSコンソールで取得した値で置き換えてください。
    export AWS_ACCESS_KEY_ID=my_access_key_id_value
    echo AWS_ACCESS_KEY_ID
    export AWS_SECRET_ACCESS_KEY=my_aws_secret_access_key
    echo AWS_SECRET_ACCESS_KEY
    

Windowsの場合、setコマンドを使用して同様に環境変数を作成してAWS_ACCESS_KEY_IDとAWS_SECRET_ACCESS_KEYの値を設定します。

その後ASK CLIを使う場合、AWS環境変数を使うことができます。ASK CLIは、すべてのAWS環境変数ではなく、特定の環境変数のみをサポートすることにご注意ください。AWS環境変数を設定するを参照してください。

以下は、AWSアクセスにどの方法を使った場合にも適用されます。

  • アカウントに関連付けたベンダーIDが1つの場合、そのIDがASK CLIを使用するよう設定されます。
  • 開発者アカウントに関連付けたベンダーIDが複数ある場合、ベンダーを選択するプロンプトが表示されます。複数の組織でAlexaスキルを管理している場合などです。特定の組織のベンダーIDを確認するには、developer.amazon.comに開発者アカウントでサインインします。右上のドロップダウンメニューからスキルを管理する組織を選択します。Customer Details(ユーザーの詳細情報) に移動し、その組織のベンダーIDを表示します。

     $ Choose the vendor ID for the skills you want to manage
     1) Amazon:  M123456789
     2) Sample-Vendor:  M987654321
    
  • 次のエラー: Token refresh errorが表示される場合、認証トークンが有効期限切れになっており、ASK CLIはトークンを更新できません。インターネットに接続されていることを確認し、もう一度実行してください。

次のメッセージ 「Profile [profile name] initialized successfully.」が表示されます。これは、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
任意です。更新または作成するプロファイルです。指定したプロファイルがすでに存在する場合、CLIはユーザーの入力した内容でプロファイルを上書きします。指定されない場合、CLIは対話型のプロンプトでユーザーに新しいプロファイルの作成か、既存のプロファイルの更新かをたずねます。
--list-profiles、-l
任意です。開発者の環境にあるすべてのプロファイルを一覧表示します。
--aws-setup

任意です。--aws-setupオプションは、必要に応じて認証情報ファイルを作成または編集する場合に使用します。プロファイル名、アクセスキー、シークレットアクセスキーを入力するようプロンプトが表示されます。アマゾンウェブサービスアカウントの認証情報をセットアップするを参照してください。

--debug
任意です。標準エラー出力にデバッグメッセージを追加します。

newコマンド

現在のディレクトリに新しいスキルのプロジェクトを作成します。newコマンドを使って、ローカルファイルシステムに新しいスキルのディレクトリやファイルを作成します。ask deployコマンドを使用すると、newコマンドで作成したすべてのサンプルスキルプロジェクトを直ちにデプロイできます。

スキルの親ディレクトリ名は指定したスキル名と同じです。親ディレクトリにはASK CLIを使ってスキルを管理するために必要なファイルやディレクトリが含まれます。以下の例は、en-USロケールのカスタムスキル用に作成されたディレクトリとファイルです。

-skillName
   -.ask
      -config
   -lambda
      -custom
        -index.js
   -models
      -en-US.json
   -skill.json

スキルは、$HOME/.ask/cli_configファイルに含まれるデフォルトのプロファイル情報を使って作成されます。{skillName}/.ask/configファイルには、skill_idなどのプロファイルごとのデプロイ設定が含まれます。

newコマンドの形式:

ask new [--template [template-name] [--url <url>]] [-n|--skill-name <name>] [-p| --profile <profile>] [--lambda-name <lambda-name>]

templateパラメーターを使用するには、マシンにGitをインストールする必要があります。Installing Gitを参照してください。

オプション:

--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を省略すると、スキル名がデフォルトでテンプレート名となることにご注意ください。これらのテンプレートを使用するには、マシンにGitをインストールする必要があります。
--skill-name、-n
任意です。スキルに割り当てるスキル名です。英字(a~z)、数字(0~9)、アンダースコア(_)、ダッシュ(-)を使用できます。--templateを指定して--skill-nameを省略すると、スキル名はデフォルトでテンプレート名になります。--templateを指定しない場合に--skill-nameを省略すると、ASK CLIはスキル名を指定するようプロンプトを表示します。
--profile、-p
任意です。スキル作成時に使用するプロファイルです。指定しない場合は、デフォルトのプロファイルが使用されます。
--lambda-name
[]
任意です。--templateが省略されている場合のみ有効です。スキルのAWS Lambda関数名です。指定しない場合、スキル名に基づいたLambda関数名が使用されます。

deployコマンド

開発者アカウントにスキルプロジェクト(スキル内商品を含む)をデプロイします。オプションでAWS Lambdaコードもデプロイします。スキル内製品の詳細については、スキル内商品コマンドリファレンスを参照してください。プロジェクトをデプロイ済みの場合、まずdiffコマンドを実行してローカルバージョンとリモートバージョンの違いを確認することをおすすめします。

deployを使って新しいスキルを作成する

スキルがデプロイされていない場合、ASK CLIは新しいスキルとask-<skillType>-<skillName>-<profile>という名前のAWS Lambda関数を作成します(<skillType><skillName>profileに指定された適切な型、名前、プロファイルを使用)。このAWS Lambda関数は、基本実行ポリシーにアタッチされたask-lambda-<skill name>-<profile>という名前のIAMロールを使用して作成されます。AWSユーザーアカウントにロールの作成権限が付与されていることを確認してください。付与されていない場合、このステップは完了できません。

新たに作成されたスキルIDとAWS Lambda ARNが、$HOME/.ask/configのスキルコンフィギュレーションファイルに書き込まれます。

deployを使ってスキルプロジェクトを更新する

スキルがすでに存在する場合、ASK CLIはローカルバージョンとリモートバージョンを比較します。--forceオプションが使用されず、2つのバージョンが異なる場合、ASK CLIはユーザーに通知し、以下のような推奨事項を提示します。

-------------------- Update Skill Project --------------------
[Error]: The local stored [skill] eTag does not match the one on the server side.
   Use "ask diff" to inspect the difference between local and remote.
   Use "ask deploy --force" to deploy with the local project version regardless of the eTag.

ask deploy --target <target>コマンドを使用した場合、ASK CLIは指定されたターゲットをローカルバージョンで更新します。ターゲットが指定されない場合、既存のスキル(スキルマニフェスト、対話モデル、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.example.com",
          "sslCertificateType": "Trusted"
        }
      }
    }
  }
}

スキルをデプロイすると、この形式に変更されます。

"apis": {
    "custom": {
      "endpoint": {
           "sourceDir": "./lambda/custom"
      },
      "regions": {
        "NA" : {
          "endpoint": {
            "uri": "https://customapi.sampleskill.example.com",
            "sslCertificateType": "Trusted"
          }
        }
      }
}

deployコマンドの形式

deployコマンドの形式:

ask deploy [--no-wait] [-t| --target <target>] [--force] [-p| --profile <profile>] [--debug]

オプション:

--no-wait
任意です。開発者がデプロイに関して非同期の選択や操作ができるようになるオプションです。このフラグをセットすると、deployコマンドはモデルのビルドの待機やデプロイされたスキルを自動的に有効にしなくなります。–no-waitを使用する場合、次回deployコマンドを使用する際に–forceオプションを使用するようにしてください。これは前回のdeployコマンドがモデルのビルドを待たずに完了したため、–forceを使わないとdeployコマンドのeTag比較で正しい結果が得られない可能性があるためです。
--target、-t
任意です。「target」により、スキルのAWS lambdaコード、スキルプロジェクト、またはその両方をデプロイするかを指定します。「target」の有効な値は、「all」、「lambda」、「skill」、「model」、「isp」です。指定しない場合のデフォルト値は「all」です。
--force
任意です。使用する場合、ターゲットのリモートバージョンがローカルの変更によって確認なしで更新されます。
--profile、-p
任意です。スキル作成時に使用するプロファイルです。指定しない場合は、デフォルトのプロファイルが使用されます。
--debug
任意です。標準エラー出力にデバッグメッセージを追加します。

各endpoint:uri形式に対する変更を以下に示します。

sourceDirを指定した場合sourceDirを指定しない場合
uri:arnlambda関数を、sourceDirのコードベースを使用するよう更新します何も実行されません
uri: function-name(AWSを呼び出すことによりARNを取得)sourceDirからのlambdaユーザーコードベースを更新します何も実行されません
uri: function-name(新規作成、AWSで見つからない)lambda関数を作成し、関数名とコードベースを使用しますエラー
uri: https何も実行されません何も実行されません
uriなしlambda関数、ユーザー、スキル名、コードベースを作成し、ARNをコンフィギュレーションファイルに戻しますapisオブジェクトが存在する場合はエラーです。

cloneコマンド

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

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関数としてではなく、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 <target>] [-p| --profile <profile>] [--debug]

オプション:

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

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

validateコマンド

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

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

validateコマンドの形式:

$ ask validate [-s|--skill-id <skillId>] [-l|--locales <locales>] [-g|--stage <stage>] [-p|--profile <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 <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-USen-GBen-CAen-AUen-INde-DEja-JPです。指定しない場合、ロケールを入力するようプロンプトが表示されます。
--skill-id、-s
任意です。amzn1.ask.skill.12345678-1234-1234-123456789123の形式で指定する必要があります。指定しない場合、CLIは現在のプロファイルの.ask/config fileからスキルIDを取得します。
--profile、-p
任意です。デフォルト以外のプロファイルを使うには、プロファイル名を指定します。
--debug
任意です。標準エラー出力にデバッグメッセージを追加します。

apiコマンド

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

apiコマンドの形式:

$ ask api <subcommand>

サブコマンド

タスク サブコマンド
基本スキル管理  
新しいスキルを作成します 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
検証と認定の管理  
スキルの検証テストを実行します 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

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} –-stage development > skill.json

get-skillコマンドの形式:

$ ask api get-skill [-s|--skill-id <skillId>] [-g|--stage <stage>] [-p|--profile <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 <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>] [-g|--stage <stage>] [-p|--profile <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 <skillId>] [-l|--locale <locale>] [-p|--profile <profile>] [--debug] [-g|--stage <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 <skillId>] [-f | --file <fileName>] [-l|--locale <locale>] [-p|--profile <profile>] [-g|--stage <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 <skillId>] [-p|--profile <profile>] [--debug]

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

head-modelサブコマンド

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

head-modelコマンドの形式:

$ ask api head-model [-s|--skill-id <skillId>] [-l|--locale <locale>] [-g|--stage <stage>] [-p|--profile <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種別 - 矢印キーを使って次のいずれかを選択:IMPLICITまたはAUTH_CODE
  • AUTH_CODEを選択する場合は、追加の情報を入れてください。
    • アクセストークンURL
    • クライアントシークレット
    • クライアント認証スキーム: HTTP_BASICまたはREQUEST_BODY_CREDENTIALS
    • デフォルトのトークン有効期間(秒)(任意)

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

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

$ ask api create-account-linking [-s|--skill-id <skillId>] [-g|--stage <stage>] [-p|--profile <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 <skillId>] [-g|--stage <stage>] [-p|--profile <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 <skillId>] [-g|--stage <stage>] [-p|--profile <profile>] [--debug]

オプション:

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

validate-skillサブコマンド

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

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

validate-skillコマンドの形式:

$ ask api validate-skill [-s|--skill-id <skillId>] [-l|--locales <locales>] [-g|--stage <stage>] [-p|--profile <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 <validationId>> <-s|--skillId <skillId>> [-p|--profile <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 <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",
      "publicationStatus": "development",
	  "apis": "custom"
    },
    {
      "lastUpdated": "2017-07-05T21:11:16.947Z",
      "nameByLocale": {
        "en-US": "example1"
      },
      "skillId": "amzn1.ask.skill.81ded88f-0d0a-4612-aaaaaaaabbbb",
      "publicationStatus": "development",
	  "apis": "video"
    },
    {
      "lastUpdated": "2017-07-05T21:08:03.693Z",
      "nameByLocale": {
        "en-US": "example2"
      },
      "skillId": "amzn1.ask.skill.1e9a668a-1746-451a-b401-aaaaaaaabbbb",
      "publicationStatus": "live",
	  "apis": "music"
    },
    {
      "lastUpdated": "2017-07-05T17:29:30.046Z",
      "nameByLocale": {
        "en-US": "example3"
      },
      "skillId": "amzn1.ask.skill.2801f509-5e8e-4944-b48d-aaaaaaaabbbb",
      "publicationStatus": "certification",
	  "apis": "flashBriefing"
    }
  ]
}

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

オプション:

--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のみがサポートされます。

enable-skillサブコマンド

skillIdstageを指定して有効化を作成または更新します。

$ ask api enable-skill <-s|--skill-id <skillId> [-g|--stage <stage>]

オプション:

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

disable-skillサブコマンド

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

$ ask api disable-skill <-s|--skill-id <skillId> [-g|--stage <stage>]

オプション:

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

get-skill-enablementサブコマンド

指定されたskillIdstageの有効化が存在するかどうかを確認します。

$ ask api get-skill-enablement <-s|--skill-id <skillId> [-g|--stage <stage>]

オプション:

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

invoke-skillサブコマンド

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

invoke-skillコマンドの形式:

$ ask api invoke-skill [-f|--file <file>] [-s|--skill-id <skillId>] [-j|--json <json>] [-e|--endpoint-region <endpoint-region>] [-p|--profile <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」の地域は、skill manifestapis.custom.endpointによって指定されるグローバルデフォルトエンドポイントによって決まります。

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

simulate-skillサブコマンド

指定したスキルをシミュレートします。このコマンドを使えるようにするには、まず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-USen-GB、またはde-DEです。指定しない場合、ロケールを入力するようプロンプトが表示されます。
--skill-id、-s
必須です。amzn1.ask.skill.12345678-1234-1234-123456789123の形式で指定する必要があります。
--profile、-p
任意です。デフォルト以外のプロファイルを使うには、プロファイル名を指定します。
--debug
任意です。標準エラー出力にデバッグメッセージを追加します。

get-simulationサブコマンド

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

get-simulationコマンドの形式:

$ 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
任意です。標準エラー出力にデバッグメッセージを追加します。

intent-requests-historyサブコマンド

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

$ ask api intent-requests-history <-s|--skill-id <skillId>> [--filters <value>] [--max-results <value>] [--sort-direction <value>] [--sort-field <value>] [--next-token <value>]

フィルターを適用せず、かつデフォルトを変更せずにスキルのインテントリクエスト履歴を取得するには、以下の例に示すとおり、他のパラメーターを指定せずにスキル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までの正の整数です(両立的)。
--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のセットに結びついているため、他のパラメーターが使用された場合は無視されます。その場合は、新しい検索パラメーターによって得た結果の最初のページが返されます。

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. 使用するプロファイルを選択し、Web settingsを選択します。プロファイルがない場合、Create a New Security Profileをクリックし、手順に従って作成します。
  5. Editをクリックして、Allowed Return URLshttp://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 <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 <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 ] [--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

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