概要
前回、 hosted skills を利用して APL で Hello World を表示した。
今回はチュートリアルとして、これを Terraform でカスタムスキルとして作成する。
APL カスタムスキル作成
APL 用プロジェクト作成
以下でプロジェクト作成し、Skill builder checklist を全てクリアすることを確認。
- 日本語
- Custom
- Provision your own
- 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 を登録。
テスト
「ハロー」と打つと、オーサリングツールで作成した画面が表示される。
コメント