彩虹屁神器:这么创建Lambda,Alexa帮你夸!

2023-11-03 05:59

本文主要是介绍彩虹屁神器:这么创建Lambda,Alexa帮你夸!,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

点击上方 "程序员小乐"关注, 星标或置顶一起成长

每天凌晨00点00分, 第一时间与你相约

每日英文

Sometimes you must let it go, to see if there was anything worth holding on to.

有时候,你必须放手,才能明白是否它真的值得你拥有。

每日掏心

有时候你把什么放下了,不是因为突然就舍得了,是因为期限到了,任性够了,成熟多了,也就知道这一页该翻过去了。

来自:公众号 读芯术 | 责编:乐乐

程序员小乐(ID:study_tech) 第 866 次推文  图源:unsplash

往日回顾:你写得API接口代码真是一坨"屎",难道不能对返回格式统一处理一下吗?

     

   正文   

不知道为了什么,忧愁它围绕着我。2020重拳出击,打得很多人都措手不及,回顾过去的几个月,“丧”这种情绪弥漫在各个角落。

是时候告别不开心了!

世界上的有些人还未告别隔离期。一个人被“困”在家里实在不是什么愉快的体验。别担心,你还有智能音箱!

 

我们打算编写一项Alexa功能,让亚马逊设备说些有趣的事。时运维艰,我想我们都需要微笑。

 

这里用的是一种叫“冲击式幽默”的喜剧风格。当一个人听到他们的名字,加上来自一个Alexa的赞美时,他们绝对想不到,接下来的几分钟会发生什么。

 

本教程不要求读者具备编程能力(尽管它确实有所帮助),只需要遵循指示即可。

 

直男不会逗女朋友开心怎么办,还不开学家庭矛盾激化怎么办,Alexa帮你忙!

 

课前准备

 

开始本教程前需要准备这些:

 

·        AWS免费帐户

·        内置Alexa的设备——Amazon Echo、 Echo Dot、 FireTV、Fire Tablets等。

·        大约20分钟的时间

 

创建Lambda函数

 

现在开始吧!

 

登录AWS帐户然后找到AWS Lambda,可以在Compute部分中找到它:

 

然后点击AWS Lambda中的Create Function按钮:

 

对于这个Lambda函数,将会用到其他人创建的无服务器应用程序存储库。这些存储库是由AWS、AWS合作伙伴和其他开发人员创建的,并且随时可供使用。

 

如果没看到任何与Alexa相关的选项,尝试将区域切换到us-east-1,这便是我正在用的一个。

 

接下来,单击上面的alexa-skills-kit-nodejs-factskill。

 

点击该链接后,将所有设置调至默认状态。重新命名应用程序:

 

完成函数设置后,单击右下角的deploy按钮。CloudFormation将负责这项部署。几分钟后你将看到:

 

现在,使用AWS的Lambda函数时(在左侧的导航栏上),将会看到新创建的函数。

 

单击新创建的函数链接。

 

编辑Lambda函数

 

有趣的地方来了。进入Lambda函数后,可以向下滚动到函数代码中的文本编辑器。搜索这段代码。这是专为说英语的人准备的版本。选择你使用的语言:

 

const enData = {        translation: {          SKILL_NAME:  Space Facts ,          GET_FACT_MESSAGE:  Here s your fact:  ,          HELP_MESSAGE:  You can say tell me a space fact, or,you can say exit... What can I help you with? ,          HELP_REPROMPT:  What can I help you with? ,          FALLBACK_MESSAGE:  The Space Facts skill can t help youwith that.  It can help you discoverfacts about space if you say tell me a space fact. What can I help you with? ,          FALLBACK_REPROMPT:  What can I helpyou with? ,          ERROR_MESSAGE:  Sorry, an error occurred. ,          STOP_MESSAGE:  Goodbye! ,          FACTS:            [               A year on Mercury is just 88 days long. ,               Despite being farther from the Sun, Venus experienceshigher temperatures than Mercury. ,               On Mars, the Sun appears about half the size as it doeson Earth. ,               Jupiter has the shortest day of all the planets. ,               The Sun is an almost perfect sphere. ,            ],        },      };

我们必须编辑GET_FACT_MESSAGE字段和FACTS数组作为绝对最小值,使其按照我们希望的方式工作。请随意编辑其他内容:

 

const enData = {        translation: {          SKILL_NAME:  Space Facts ,          GET_FACT_MESSAGE:  What do you think of her? ,          HELP_MESSAGE:  You can say tell me a space fact, or,you can say exit... What can I help you with? ,          HELP_REPROMPT:  What can I help you with? ,          FALLBACK_MESSAGE:  The Space Facts skill can t help youwith that.  It can help you discoverfacts about space if you say tell me a space fact. What can I help you with? ,          FALLBACK_REPROMPT:  What can I helpyou with? ,          ERROR_MESSAGE:  Sorry, an error occurred. ,          STOP_MESSAGE:  Goodbye! ,          FACTS:            [               You think Tara is super silly, but also a really greatperson and you are glad she is here right now ,            ],        },

你肯定注意到我已经从FACTS数组中取出了所有东西。这是因为Alexa这个特定功能设计是为了从数组中随机选取一个元素。当数组中只有一个元素时,也就是说只有一个选项:)

 

把你想要的通通放进这些字段里。玩得开心点!

 

好了,这就是所有需要做的了。把它用在家里有Alexa的设备上。

 

创建Alexa功能

 

进入https://developer.amazon.com/alexa/console/ask;这就是为Alexa创建实际功能的地方。先创建一个开发人员帐户。

 

图源:unsplash

如果你还没有注册,也可以使用在亚马逊Alexa上注册的账户,这会使整个过程变容易很多。

 

如果还没有在亚马逊上注册Alexa账户,这也不难。只需在手机上下载Alexa应用程序,按操作步骤来即可。

 

进入https://developer.amazon.com/alexa/console/ask之后,点击右手边的Create Skill按钮:

 

然后给它命名,选择自定义模型添加功能,提供自己的方法来托管后端资源:

 

然后把模板改为FactSkill,生成Lambda函数。只要点击Choose,Alexa应用程序就创建好了!容易吧。

 

现在,这一步至关重要。我们必须将终端更改为AWS Lambda函数的终端。否则,它怎么知道要触发哪个Lambda函数?

 

返回AWS内的Lambda函数,找到右上角的ARN:

 

将其复制到剪贴板,并将其粘贴到Endpoint选项卡的Default Region字段:

 

点击顶部的保存终端按钮。

 

现在我们需要添加一个新的功能。这是需要对Alexa说的,让其触发Lambda函数。以下便是我输入进去的,"我觉得塔拉怎么样? "塔拉是我女朋友的名字;你可以输入任何东西。

 

这个话语是你需要对Alexa设备说的话,让它响应你在AWS Lambda函数代码中写的东西。

 

添加完所有需要Alexa响应的语句后,单击Save Model和Build Model。这应该只需要几秒钟或几分钟就可以搞定。

 

看到这条消息出现在下方时,说明创建成功:

 

现在找到顶部导航栏中的Test选项卡。将启用技能测试改为开发。在左侧输入话语,就能触发Lambda函数,并输出响应。

 

现在,如果Alexa设备已经注册到你的账户,就可以向设备发出语句,然后返回相同的响应,但这次是来自Alexa。

 

可以探索的事情还有很多,这里也只是一些皮毛而已。尽情玩吧!

欢迎在留言区留下你的观点,一起讨论提高。如果今天的文章让你有新的启发,学习能力的提升上有新的认识,欢迎转发分享给更多人。

欢迎各位读者加入订阅号程序员小乐技术群,在后台回复“加群”或者“学习”即可。

猜你还想看

阿里、腾讯、百度、华为、京东最新面试题汇集

从分手厨房看拓扑排序

这张「二维码」火到了GitHub热榜第一:扫一扫,打破系统边界,文件秒传

什么才是真正的架构设计?

关注订阅号「程序员小乐」,收看更多精彩内容

嘿,你在看吗

这篇关于彩虹屁神器:这么创建Lambda,Alexa帮你夸!的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/336062

相关文章

Python中conda虚拟环境创建及使用小结

《Python中conda虚拟环境创建及使用小结》本文主要介绍了Python中conda虚拟环境创建及使用小结,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们... 目录0.前言1.Miniconda安装2.conda本地基本操作3.创建conda虚拟环境4.激活c

使用Python创建一个能够筛选文件的PDF合并工具

《使用Python创建一个能够筛选文件的PDF合并工具》这篇文章主要为大家详细介绍了如何使用Python创建一个能够筛选文件的PDF合并工具,文中的示例代码讲解详细,感兴趣的小伙伴可以了解下... 目录背景主要功能全部代码代码解析1. 初始化 wx.Frame 窗口2. 创建工具栏3. 创建布局和界面控件4

Java中对象的创建和销毁过程详析

《Java中对象的创建和销毁过程详析》:本文主要介绍Java中对象的创建和销毁过程,对象的创建过程包括类加载检查、内存分配、初始化零值内存、设置对象头和执行init方法,对象的销毁过程由垃圾回收机... 目录前言对象的创建过程1. 类加载检查2China编程. 分配内存3. 初始化零值4. 设置对象头5. 执行

Android 悬浮窗开发示例((动态权限请求 | 前台服务和通知 | 悬浮窗创建 )

《Android悬浮窗开发示例((动态权限请求|前台服务和通知|悬浮窗创建)》本文介绍了Android悬浮窗的实现效果,包括动态权限请求、前台服务和通知的使用,悬浮窗权限需要动态申请并引导... 目录一、悬浮窗 动态权限请求1、动态请求权限2、悬浮窗权限说明3、检查动态权限4、申请动态权限5、权限设置完毕后

Python创建Excel的4种方式小结

《Python创建Excel的4种方式小结》这篇文章主要为大家详细介绍了Python中创建Excel的4种常见方式,文中的示例代码简洁易懂,具有一定的参考价值,感兴趣的小伙伴可以学习一下... 目录库的安装代码1——pandas代码2——openpyxl代码3——xlsxwriterwww.cppcns.c

使用Python在Excel中创建和取消数据分组

《使用Python在Excel中创建和取消数据分组》Excel中的分组是一种通过添加层级结构将相邻行或列组织在一起的功能,当分组完成后,用户可以通过折叠或展开数据组来简化数据视图,这篇博客将介绍如何使... 目录引言使用工具python在Excel中创建行和列分组Python在Excel中创建嵌套分组Pyt

解决IDEA使用springBoot创建项目,lombok标注实体类后编译无报错,但是运行时报错问题

《解决IDEA使用springBoot创建项目,lombok标注实体类后编译无报错,但是运行时报错问题》文章详细描述了在使用lombok的@Data注解标注实体类时遇到编译无误但运行时报错的问题,分析... 目录问题分析问题解决方案步骤一步骤二步骤三总结问题使用lombok注解@Data标注实体类,编译时

MySQL分表自动化创建的实现方案

《MySQL分表自动化创建的实现方案》在数据库应用场景中,随着数据量的不断增长,单表存储数据可能会面临性能瓶颈,例如查询、插入、更新等操作的效率会逐渐降低,分表是一种有效的优化策略,它将数据分散存储在... 目录一、项目目的二、实现过程(一)mysql 事件调度器结合存储过程方式1. 开启事件调度器2. 创

mysql外键创建不成功/失效如何处理

《mysql外键创建不成功/失效如何处理》文章介绍了在MySQL5.5.40版本中,创建带有外键约束的`stu`和`grade`表时遇到的问题,发现`grade`表的`id`字段没有随着`studen... 当前mysql版本:SELECT VERSION();结果为:5.5.40。在复习mysql外键约

Window Server创建2台服务器的故障转移群集的图文教程

《WindowServer创建2台服务器的故障转移群集的图文教程》本文主要介绍了在WindowsServer系统上创建一个包含两台成员服务器的故障转移群集,文中通过图文示例介绍的非常详细,对大家的... 目录一、 准备条件二、在ServerB安装故障转移群集三、在ServerC安装故障转移群集,操作与Ser