Alexa CLI(ask)でスキルの情報をいろいろ取ってみる

Alexa CLIをいろいろ触ってみているところですので、その覚書です。 今回はlist-skills / get-skill / get-model / get-model-statusの4つを触ってみました。 api […]

広告ここから
広告ここまで

目次

    Alexa CLIをいろいろ触ってみているところですので、その覚書です。

    今回はlist-skills / get-skill / get-model / get-model-statusの4つを触ってみました。

    api list-skills: スキル一覧の取得

    Skill IDは管理画面からとってこれますが、どうせならこれもCLIでとってきましょう。

    ask api list-skillsで取得できます。

    $ ask api list-skills | jq .
    {
      "skills": [
        {
          "lastUpdated": "2017-09-07T06:47:32.205Z",
          "nameByLocale": {
            "en-US": "Example Flash Briefing Skills"
          },
          "skillId": "amzn1.ask.skill.XXXXXXXX"
        },
        {
    ...
    

    こんな感じにすると、ワンライナーでとれます。

    $ ask api list-skills | jq ".skills[0].skillId" -r
    amzn1.ask.skill.XXXXXXXX
    

    api get-skill: スキルの情報を確認する

    作成したスキルの情報を取得できます。
    バックエンドに何を使用しているかなどもとれる様子ですね。

    $ ask api get-skill -s amzn1.ask.skill.XXXXXX
    {
      "skillManifest": {
        "publishingInformation": {
          "locales": {
            "en-US": {
              "name": "Example Fact"
            }
          },
          "isAvailableWorldwide": true,
          "distributionCountries": []
        },
        "apis": {
          "custom": {
            "endpoint": {
              "uri": "arn:aws:lambda:us-east-1:610511741716:function:alexa-fact-example-dev-hello"
            }
          }
        },
        "manifestVersion": "1.0"
      }
    }
    

    api get-model: インタラクションモデルを確認する

    会話のモデルとなるインタラクションモデルを確認できます。

    $ ask api get-model -s amzn1.ask.skill.XXXXXX --locale en-US 
    ETag: XXXXXXXXXXX
    Model:
    {
      "interactionModel": {
        "languageModel": {
          "invocationName": "example fact",
          "intents": [
            {
              "name": "GetNewFactIntent",
              "samples": [
                "a fact",
                "a space fact",
                "tell me a fact",
                "tell me a space fact",
                "give me a fact",
                "give me a space fact",
                "tell me trivia",
                "tell me a space trivia",
                "give me trivia",
                "give me a space trivia",
                "give me some information",
                "give me some space information",
                "tell me something",
                "give me something"
              ]
            },
            {
              "name": "AMAZON.HelpIntent"
            },
            {
              "name": "AMAZON.StopIntent"
            },
            {
              "name": "AMAZON.CancelIntent"
            }
          ]
        }
      }
    }
    

    あまり自信はないのですが、Sample Utterancesの中身がsamplesに入っているように見えますね。

    api get-model-status:インタラクションモデルの作成状況を確認する

    ASKを作る際、インタラクションモデルを生成する必要があります。
    ask api get-model-statusを使うことで、インタラクションモデルの生成が完了しているかが確認できます。

    $ ask api get-model-status  -s amzn1.ask.skill.XXXXXXXXX --locale en-US 
    Model build status: SUCCESS
    
    
    広告ここから
    広告ここまで
    Home
    Search
    Bookmark