NPM 包 generator-alexa-lambda 使用教程

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 账户。为此,请按照以下步骤操作:

  1. 在命令行中导航到骨架代码目录并运行以下命令:
--- --- ------
  1. 命令将使用服务器端的 CloudFormation 模板创建 AWS Lambda 函数,并将代码和配置部署到您的 AWS 账户中。

注意,在“deploy”命令执行过程中,您将需要登录到您的“AWS 访问密钥”。

  1. 部署成功后,您应该可以在您的 AWS 控制台中找到您新创建的 Lambda 函数。

恭喜你,你已经学会了使用 generator-alexa-lambda 来构建并部署自己的 Alexa 技能!

来源:JavaScript中文网 ,转载请联系管理员! 本文地址:https://www.javascriptcn.com/post/6005771f81e8991b448eac48


猜你喜欢

  • npm 包 secondary-icon-dualpixel 使用教程

    介绍 在前端开发中,经常要用到图标来美化界面。secondary-icon-dualpixel 是一个 npm 包,提供了超过 1000 个可自定义颜色、大小、风格等属性的图标,可以帮助开发者快速地完...

    3 年前
  • npm 包 clop 使用教程

    介绍 clop 是一个用于在终端中创建命令行选项的 npm 包。它非常适合用于编写 Node.js 命令行工具,可以方便地管理和解析命令行选项。本文将介绍如何使用 clop 开发一个简单的 Node....

    3 年前
  • npm 包 alexa-connect-handlers 使用教程

    前言 随着云计算和物联网的发展,语音交互已经成为智能家居、智能音箱等智能设备的常用操作方式。Alexa 是亚马逊公司发布的一款语音助手产品,它的语音接口可以被第三方开发者使用,以扩展其功能。

    3 年前
  • npm 包 @apsknight/jupyterlab_xkcd 使用教程

    前言 @apsknight/jupyterlab_xkcd 是一个 npm 包,能够在 JupyterLab 中集成 XKCD 漫画的插件。通过该插件,你可以在 JupyterLab 中轻松查看和分享...

    3 年前
  • npm 包 vuex-db 使用教程

    前言 在前端开发过程中,经常需要使用状态管理工具来管理应用程序的状态,例如 Vue.js 中的 Vuex。Vuex 提供了类似于全局变量的状态管理方式,可以方便地获取和修改状态。

    3 年前
  • npm 包 @scalableminds/prop-types 使用教程

    @scalableminds/prop-types 是一个用于校验 React 组件属性(props)的 npm 包。它让开发人员可以在 React 项目中方便地校验组件传入的 props 类型,帮助...

    3 年前
  • npm 包 api-js-sdk 使用教程

    API-JS-SDK 是一个 Node.js 的软件包,用于从 JavaScript 程序中访问 API 端点。该软件包提供了一个简单而强大的 API,用于操作并处理 API 数据。

    3 年前
  • npm 包 rapidpro-js 使用教程

    npm 包 rapidpro-js 是一个帮助前端开发者与 RapidPro 平台进行接口交互的工具包。通过 rapidpro-js,前端开发者可以使用简单的 JavaScript 代码与 Rapid...

    3 年前
  • npm 包 react-clipboard-ocr 使用教程

    前端开发中,我们经常需要从网页上复制文字并且处理。但是当我们想要将图片中的文字内容复制下来时,就需要用到 OCR(Optical Character Recognition) 技术。

    3 年前
  • npm 包 icon-toolkit 使用教程

    介绍 icon-toolkit 是一个集成了众多矢量图标库的 npm 包,可以方便地在前端项目中使用图标。矢量图标是基于数学算法绘制的图标,可以根据需要无限缩放而不失真,且体积较小,因此在前端开发中使...

    3 年前
  • npm 包 optimizely-server-sdk-beta 使用教程

    简介 optimizely-server-sdk-beta 是为优化实验和 A/B 测试工作而开发的 JavaScript 包,提供实验 variation 的概率分配和 tracking 功能。

    3 年前
  • npm 包 redux-state-observable 使用教程

    什么是 redux-state-observable redux-state-observable 是一个可以应用在 React 组件中管理应用程序状态的工具。它基于 Observables 并使用 ...

    3 年前
  • npm 包 portable-crypto 使用教程

    什么是 portable-crypto portable-crypto 是一个 JavaScript 库,旨在提供一种轻便易用的加密解密解决方案,支持多种加密算法,包括 AES、DES、TripleD...

    3 年前
  • npm 包 bixbyte-frame-lite 使用教程

    在前端开发过程中,使用各种框架和工具可以提高开发效率和代码质量。其中,一个重要的工具是 npm,它可以方便地管理各种 JavaScript 库和工具的依赖关系。在这篇文章中,我们将介绍一个基于 npm...

    3 年前
  • npm 包 escpos-xml 使用教程

    在前端开发中,打印机的使用是非常普遍的。而对于需要使用打印机的开发者来说,escpos-xml 是一个非常实用的 npm 包。本文将会为大家介绍 escpos-xml 这个包的使用教程,包括其功能、特...

    3 年前
  • npm 包 @pluritech/ionicons 使用教程

    前端开发离不开图标,而 Ionicons 是一套常见的图标库,其中的图标适用范围广泛,具有丰富的样式和定制能力。在使用 Ionicons 时,我们可以选择使用其提供的 CDN 或直接下载到本地应用。

    3 年前
  • npm 包 lapanoid-react-native-svg-loader 使用教程

    在 React Native 开发中,SVG 是一种非常常见的图形格式,但 React Native 并没有默认的 SVG 支持。因此,我们需要借助 npm 包来实现 SVG 的加载和渲染。

    3 年前
  • npm 包 framify-lite 使用教程

    什么是 framify-lite framify-lite 是一个轻量级的前端框架,它可以帮助开发者快速搭建页面,提高开发效率。与其他框架相比,framify-lite 的优点在于它的轻量级和可定制性...

    3 年前
  • npm 包 json-blob-transform 使用教程

    介绍 json-blob-transform 是一个 npm 包,用于将 JSON 对象转换为指定格式的 JSON 字符串。它的主要特点是: 支持多种转换格式,包括 XML、CSV、YAML 等。

    3 年前
  • npm 包 @ybondarenko/my-lib 使用教程

    简介 @ybondarenko/my-lib 是一个前端开发的 npm 包,它提供了许多实用的工具函数,可以帮助你更轻松地开发前端应用。本文将详细介绍如何使用这个 npm 包以及它的实现原理。

    3 年前

相关推荐

    暂无文章