Amazon Alexa 是流行的语音助手,它与Lambda 集成,允许开发人员构建智能语音应用程序。generator-alexa-lambda 是一个强大的工具,支持快速构建 Alexa 技能的骨架。
本教程将向您展示如何使用 generator-alexa-lambda 和一些详细信息,以便您能够从头开始构建自己的 Alexa 技能。
什么是 generator-alexa-lambda
generator-alexa-lambda 可以帮助开发人员快速创建基于 Alexa 的 Lambda 逻辑和存储策略的断言。通过使用 Yeoman 工具,它可以为开发人员提供一个良好的开发环境,让他们可以更好地理解技能的工作原理以及如何在亚马逊 AWS 云中部署。generator-alexa-lambda 可以帮助开发人员快速开发和部署 Skill,而不必将精力放在基础架构上。
安装 generator-alexa-lambda
首先,您需要在计算机上安装 Yeoman。Yeoman 是一个模板生成器,它可以根据您的需求生成各种项目结构。可以通过以下命令进行安装:
--- ------- -- --
安装好 Yeoman 后,您可以安装 generator-alexa-lambda。可以通过以下命令进行安装:
--- ------- -- ----------------------
这将把 generator-alexa-lambda 下载到您的计算机上。现在您可以使用这个强大的工具来生成您的技能骨架了!
构建 Skill
生成器已经安装好了,现在我们可以使用它创建我们的第一个 Skill。在您想要创建 Skill 的目录中,执行以下命令:
-- ------------
该命令将生成一个以“alexa-lambda”为名称的文件夹,并在其中生成多个文件。这些文件包括:
- Alexa 技能的 Node.js 模块。
- Node.js 模块的配置文件。
- 在 AWS Lambda 上为 Node.js 模块部署所需的 CloudFormation 模板。
当命令运行成功后,屏幕会提示您输入一个“技能名称”。此名称将用作您的技能的唯一名称。生成器还会询问您创建新 AWS CLI 配置文件,用于将代码上传到您的 AWS 账户中。在这里输入您的访问密钥和密钥 ID。生成器将使用这些凭据来管理 AWS Lambda 函数和 S3 存储桶。
幸运的是,您现在已经有了一个新的 Alexa 技能的骨架。现在是时候添加一些自定义行为了。
添加自定义行为
生成器已经可以创建一个"Hello World"的技能,但是你肯定要创建更加有用的技能。创建自定义技能的最简单方法是定义 Intents 和 Slots。Intents 是侦听 Alexa 的命令的名称,而 Slots 是定义命令中包含的值的方法。
在命令主目录下的“intents”文件夹中,可以添加自定义 Intents。例如,在“sample_intent.json”文件中,您可以定义一个名为“GetWeather”的新 Intent,该 Intent 将通过使用“getWeather”的短语从 Alexa 调用:
- ---------- - - --------- ------------- -------- - - ------- ------- ------- ---------------- - - - - -
现在需要为 Intent 编写一个 Lambda 函数。您可以在“lambda/custom/index.js”文件中查找原始的“Hello World”函数代码,或将其替换为以下示例代码:
----- ----- - --------------------- ----- ----- - ----------------- --------------- - --------------- -------- --------- - ----- ----- - -------------------- -------- ---------- --------------------------------- ---------------- -- ----- -------- - - ------------- ---------- - ----- -------- - ------------------------------------------- ----- --- - ---------------------------------------------------- - -------- - ---------------------- -------------- ---------- -- - --- ---- - --- ------------------- --- -- ---- -- --- ------------------ -- -- - --- ------- - ----------------- ----- ------- - ---- ------- -- - - -------- - - -- - - ---------------------------- - ------- - - ------- ---------- ------------------ --------- --- --- - --
在这个示例代码中,我们正在使用 Openweathermap API 使用用户输入的城市名称获取当前天气。需要将 API 密钥替换为自己的密钥,才能使函数正常工作。函数将返回一个消息,其中包含请求的天气数据。
部署到 AWS Lambda
如果您完成了骨架的构建以及添加与您的 Amazon Alexa Skill 可交互的自定义代码,那么就可以将其部署到您的 AWS 账户。为此,请按照以下步骤操作:
- 在命令行中导航到骨架代码目录并运行以下命令:
--- --- ------
- 命令将使用服务器端的 CloudFormation 模板创建 AWS Lambda 函数,并将代码和配置部署到您的 AWS 账户中。
注意,在“deploy”命令执行过程中,您将需要登录到您的“AWS 访问密钥”。
- 部署成功后,您应该可以在您的 AWS 控制台中找到您新创建的 Lambda 函数。
恭喜你,你已经学会了使用 generator-alexa-lambda 来构建并部署自己的 Alexa 技能!
来源:JavaScript中文网 ,转载请联系管理员! 本文地址:https://www.javascriptcn.com/post/6005771f81e8991b448eac48