亞馬遜 Alexa skill開發
Skill分類
https://developer.amazon.com/zh/docs/ask-overviews/build-skills-with-the-alexa-skills-kit.html
Custom Skill 通用技能 (網路查詢資訊,結合網路服務預定車、機票等等,互動遊戲)
Smart Home Skill 智慧家居
Flash Briefing Skill 新聞
Video Skill 帶視訊的
skill建立主要步驟
過程:
1、開發者平臺建立skill,獲得skillId。
開發者平臺( https://developer.amazon.com/alexa/console)
建立過程中,需要設定invication Name,Intent,slots(詞槽),utterances(樣本表示式),dialog model(Alexa prompts(提示)、user utterance)
2、為skill 新增實際的函式,建立端點(endpoint)處理請求,傳送響應。
開發者介面 Build > Custom > Endpoint
有兩種方式為skill提供雲端服務(雲端執行程式碼)
Endpoint中與lambda函式連線,“Your Sills ID”是建立技能的ID在之後Lambda函式要用到。Default Region是建立Lambda函式的ARN
3、測試
輸入建立技能時的Invocation Name,到此一個技能建立和測試完成
Lambda function 建立
AWS lambda支援Node.js, Java, Python, C#, or Go編寫的程式碼,在AWS lambda控制檯可直接編寫或者複製Node.js, Python程式碼。對於Java編寫的程式碼需要先生成jar包,然後上傳。
(1)進入Amazon Web Services ,申請賬號(需要帶VISA的信用卡資訊)。
(3)選擇支援Alexa skill 的地區 (Asia Pacific (Tokyo), EU (Ireland)
(4) 點選Get Started Now. 點選 Create a Lambda Function.
(5)如果從Node.js or Python編寫的樣例開始,則點選Blueprints,選擇其中的一個 Alexa Skills Kit blueprints ,點選Configure
(6)輸入函式名稱
(7)選擇函式的role,這定義了函式所能獲取到的資源。可以選擇現有的 Existing role.或重新建立一個role。
(8)為執行環境選擇一個程式語言(Node.js, Java, or Python)。如果選擇java,則需要以壓縮檔案的形式上傳程式碼。如果選擇了blueprint,則語言已經預先配置好了。一旦為函式選擇了語言則無法改變。
(9)點選Create function.
(10)為函式配置觸發器 Alexa Skills Kit ,以保證Alexa有足夠的許可權呼叫函式
(11)在控制檯測試函式
(12)儲存設定,將ARN複製到skill開發步驟2的Default Region中。