NPM 包 generator-alexa-lambda 使用教程

阅读时长 6 分钟读完

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

纠错
反馈