原作者: Ryan Gleason

链接: https://towardsdatascience.com/how-i-used-aws-lambda-to-make-my-girlfriend-smile-61194596f2d

开始这个有趣的小项目来提升你周围人的精神。

当全世界都处于新冠肺炎的困扰时,人们都只能被关在家中,但这样持久地憋在家里,早晚是要被憋疯的,有什么办法可以帮你把快乐传播到你女朋友手机那端?

这个问题很大!可能很多情侣已经异地恋好几个月了,哈哈哈哈哈!

我们将使用亚马逊设备来制作一些有趣的事情,这不仅可以让我们经常接触一些尖端技术,也给我周围的人带来了快乐。在这艰难的时刻,我想我们都需要快乐和开心。

我们用的是一种叫做“震撼幽默”的喜剧风格。当有人听到自己的名字,并在最不经意的时候听到来自一个无生命物体的赞美时,肯定会让他们在接下来的几分钟里笑得流泪。

在本教程中,您不需要任何编程能力(尽管它确实有帮助)。你所需要的仅仅是跟随指示的能力。

今天就让你的女朋友,男朋友,儿子,女儿,丈夫,妻子,姐姐,哥哥,阿姨,叔叔,狗狗笑吧!。

目标

创造一个Alexa技能来传播积极性。

先决条件

您需要以下项目才能开始学习本教程:

  • 有Alexa-Amazon Echo、Echo Dot、FireTV、Fire平板电脑等的设备。
  • AWS自由层帐户。
  • 大约20分钟。

创建Lambda函数

我们开始吧!

登录您的AWS帐户并导航到AWS Lambda,您可以在计算部分找到它:

然后我们将单击AWS Lambda仪表板内的Create Function按钮:

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

如果你没有看到任何与Alexa技能相关的选项,请尝试将你的区域切换到us-east-1。这就是我在用的东西。

接下来,点击上面的alexa技能工具包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 you with that.  It can help you discover facts about space if you say tell me a space fact. What can I help you with?',
    FALLBACK_REPROMPT: 'What can I help you 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 experiences higher temperatures than Mercury.',
        'On Mars, the Sun appears about half the size as it does on Earth.',
        'Jupiter has the shortest day of all the planets.',
        'The Sun is an almost perfect sphere.',
      ],
  },
};

我们必须将GET_FACT_消息字段和FACTSarray编辑为绝对最小值,以使其按我们希望的方式工作。请随意编辑其他内容:

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 you with that.  It can help you discover facts about space if you say tell me a space fact. What can I help you with?',
    FALLBACK_REPROMPT: 'What can I help you with?',
    ERROR_MESSAGE: 'Sorry, an error occurred.',
    STOP_MESSAGE: 'Goodbye!',
    FACTS:
      [
        'You think Tara is super silly, but also a really great person and you are glad she is here right now',
      ],
  },

你会注意到我把事实数组中的所有东西都去掉了。这是因为这个特殊的Alexa技能被设计成从数组中随机选择一个元素。当数组中只有一个元素时,只有一个选项可以说:)

把你想要的东西放在这些田地里。玩得开心点!

好了,现在我们只需要从Lambda这边做这些。让我们把它和我们家里的Alexa设备一起用。

创造Alexa技能

导航到https://developer.amazon.com/alexa/console/ask;这是我们为alexa创建实际技能的地方。我们将创建一个开发人员帐户。

如果您还没有注册,请使用您的Amazon Alexa注册帐户。这将使整个过程更加容易。

如果你的Alexa没有注册到你的Amazon账户上,那么很简单。只需在手机上下载Alexa应用程序并按照步骤进行操作。

访问https://developer.amazon.com/alexa/console/ask后,单击右侧的Create Skill按钮:

然后给它起个名字,让Custom selected作为模型来添加我们的技能,并提供您自己的方法来托管我们的技能后端资源:

然后我们将模板更改为事实技能,因为这是我们生成Lambda函数的方式。

一旦你点击Choose,我们的Alexa应用程序就被创建了!就这么简单。

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

回到AWS中的Lambda函数,在右上角查找ARN:

将其复制到剪贴板,并将其粘贴到“端点(Endpoint)”选项卡的“默认区域(Default Region)”字段中:

单击顶部的“保存端点”按钮。

现在我们需要添加一个新的Intent。这是你需要对你的Alexa说的,它才能触发你的Lambda函数。下面你会看到我输入了“我觉得塔拉怎么样”塔拉是我女朋友的名字,你可以做任何东西。

这句话是你需要对你的Alexa设备说的,以便它用你在AWS Lambda函数代码中所写的来响应。

添加完所有希望Alexa响应的语句后,单击Save Modelbuildmodel。这只需要几秒钟或几分钟就可以完成。

生成成功后,您应该会在底部看到此消息:

现在导航到顶部导航栏中的测试选项卡。

更改技能测试可以下拉到“开发(Development)”。

在左手边输入你的话语,你的Lambda函数就会被触发,你的回应就会被输出。

现在,如果你的Alexa设备注册到你的帐户上,你可以对你的设备说这句话,同样的回答将被返回,但这次是Alexa的。

希望你用这个来逗你的女朋友开心和快乐。

愿疫情早点过去!

PS:我是黑胡桃实验室社区的一名成员,最近经常在看一些老外做的有趣的人工智能项目,如果有兴趣或疑问可以在评论区留言或私信与我交流^μ^