可以使用AlexaLambda函数或RESTAPI端点开发Alexa技能。Lambda函数是Amazon实现AWS中提供的无服务器功能。Amazon建议使用Lambda函数,尽管它们不容易调试。虽然您可以登录到CloudWatch日志,但您不能命中断点并进入代码。
这使得对Alexa请求的实时调试成为一项非常困难的任务。在这篇文章中,我们将使用Node.js、NPM和AWSLambda函数来实现AmazonAlexa的自定义技能。这个技能基本上就是一个“Hello World”的例子。通过这篇文章,您将能够为AmazonAlexa创建一个自定义技能,通过使用Node.js实现功能,并从本地计算机和AWS开始您的自定义技能。
先决条件
以下是该项目使用的技术:
- 亚马逊开发者帐户-如何得到它.
- AWS账户-免费报名.
- 问问CLI-安装和配置Ask CLI.
- v10.x.
- VisualStudio代码
- NPM包装经理。
- Alexa请求Node.js(版本>2.7.0)
- ngrok.
Alexa技能工具包命令行接口(Ask CLI)是用于管理Alexa技能和相关资源(如AWS Lambda函数)的工具。使用ASKCLI,您可以访问技能管理API,它允许您从命令行以编程方式管理Alexa技能。我们将使用这个强大的工具来创建、构建、部署和管理我们的“HelloWorld”技能。我们开始吧!
使用ASKCLI创建技能
对于创建Alexa技能,我们将使用之前配置的deAskCLI。首先,我们必须执行以下命令:
ask new
此命令将一步一步地运行和交互创建过程:
Ask CLI要问的第一件事是我们的技能的运行时。在我们的情况下,Node.js v10:
Setting Skill runtime
第二步是我们的技能所基于的模板。在本例中,我们将选择Hello World模板:
Selecting Hello World template
最后,Ask CLI将向我们询问该技能的名称: