APL (Alexa Presentation Language) カスタムスキルで Hello World

概要

前回、 hosted skills を利用して APL で Hello World を表示した。

今回はチュートリアルとして、これを Terraform でカスタムスキルとして作成する。

APL カスタムスキル作成

APL 用プロジェクト作成

以下でプロジェクト作成し、Skill builder checklist を全てクリアすることを確認。

  1. 日本語
  2. Custom
  3. Provision your own
  4. Start from Scratch

以下を行っておく。

  • インターフェースより、「Alexa Presentation Language」を有効化
  • テストより、ステージを開発中に変更
  • エンドポイントより、スキル ID をコピー

オーサリングツールで画面作成

以下の Json を作成し、保存。

{
    "type": "APL",
    "version": "1.8",
    "license": "Copyright 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved.\nSPDX-License-Identifier: LicenseRef-.amazon.com.-AmznSL-1.0\nLicensed under the Amazon Software License  http://aws.amazon.com/asl/",
    "theme": "dark",
    "import": [
        {
            "name": "alexa-layouts",
            "version": "1.4.0"
        }
    ],
    "mainTemplate": {
        "parameters": [
            "payload"
        ],
        "item": [
            {
                "type": "Container",
                "height": "100%",
                "width": "100%",
                "paddingTop": "16dp",
                "paddingLeft": "16dp",
                "paddingRight": "16dp",
                "paddingBottom": "16dp",
                "items": [
                    {
                        "item": [
                            {
                                "text": "HelloWorld",
                                "textAlign": "center",
                                "textAlignVertical": "center",
                                "layoutDirection": "inherit",
                                "fontSize": "50dp",
                                "type": "Text",
                                "width": "100%",
                                "height": "100%",
                                "paddingTop": "12dp",
                                "paddingBottom": "50dp"
                            }
                        ],
                        "type": "Frame",
                        "width": "100%",
                        "height": "100%"
                    }
                ]
            }
        ]
    },
    "onMount": [
        {
            "type": "SpeakItem",
            "componentId": "PlantHeadline"
        }
    ]
}

ファイルをローカルにダウンロードし、Terraform の Lambda コードに配置するする。

Terraform でデプロイ

今回は以下のリポジトリにコードをまとめた。 git clone する。

aws profile や alexa skill id を自分の環境に変更し、デプロイ。

コンソールより、エンドポイントに Lambda ARN を登録。

テスト

「ハロー」と打つと、オーサリングツールで作成した画面が表示される。

参考

APL (Alexa Presentation Language) で Hello World

コメント

タイトルとURLをコピーしました