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创建主要步骤
https://developer.amazon.com/zh/alexa-skills-kit/alexa-skill-python-tutorial
https://blog.youkuaiyun.com/wangyongyao1989/article/details/80408959(主要参考)
过程:
1、开发者平台创建skill,获得skillId。
开发者平台( https://developer.amazon.com/alexa/console)
创建过程中,需要设置invication Name,Intent,slots(词槽),utterances(样本表达式),dialog model(Alexa prompts(提示)、user utterance)
https://blog.youkuaiyun.com/facemax/article/details/80505796
https://developer.amazon.com/zh/docs/devconsole/create-a-skill-and-choose-the-interaction-model.html
2、为skill 添加实际的函数,创建端点(endpoint)处理请求,发送响应。
开发者界面 Build > Custom > Endpoint
有两种方式为skill提供云端服务(云端运行代码)
- Hosting a Custom Skill as a Web Service.
- Create an AWS Lambda Function for a Skill.(推荐)。下面将重点讲Lambda function的创建过程。
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的信用卡信息)。
(2)登录 AWS Management Console,导航到AWS Lambda
(3)选择支持Alexa skill 的地区 (Asia Pacific (Tokyo), EU (Ireland), US East (N. Virginia), or US West (Oregon).)
(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中。