标签: alexa-skills-kit

如何在没有AWS的私有网络中运行Amazon Echo

我正在尝试将Amazon Echo用于我公司内的实用程序项目.我有一堆内部网站点,我打算从中收集信息并开发自定义技能,让用户查询数据.但是客户端jar(我正在使用java)需要上传到AWS以创建Lambda函数,然后才能使用该自定义技能.这不起作用,因为我的jar需要从这些Intranet系统中使用Web服务.

有没有办法在不使用AWS的情况下在私有网络中运行Echo?我试图在互联网/ stackoverflow上找到任何相关信息,但不能.

amazon-web-services alexa-skills-kit

6
推荐指数
1
解决办法
8497
查看次数

如何在用户使用Alexa技能时获取用户的帐户信息

我们将创建一个允许用户控制Wi-Fi LED的Alexa技能.每次用户使用该技能时,我们希望我们可以在该技能的AWS Lambda函数中使用的SDK的回调中获取用户的帐户信息.

例如,用户登录到他的亚马逊帐户并使用他的Alexa-Enabled设备并说"Alexa,要求打开".然后,我们所做的技能将触发Lambda函数并传递用户的帐户详细信息,以便我们可以在我们的主机中检查该用户是否拥有该设备.

那么,在包含用户帐户信息的Alexa Skill Kit中使用的Java SDK中是否有回调?

谢谢!

alexa aws-lambda alexa-skill alexa-skills-kit

6
推荐指数
1
解决办法
3127
查看次数

Null SpeechletResponse(Alexa)的问题

我的AMAZON.StopIntent搞砸了.无论我放在那里(我已经尝试了每个教程中的所有内容),无论何时调用,我都会得到"所请求技能的响应存在问题",并且Alexa应用程序将错误显示为"speechletresponse不能为空".我的项目是JSON,而不是Java格式.

如果有人可以提供帮助,我将非常感激!

谢谢!

根据要求,这是发送给Lambda的内容

{
  "session": {
    "sessionId": "SessionId.XXXXX",
    "application": {
      "applicationId": "amzn1.ask.skill.XXXXXXX"
    },
    "attributes": {},
    "user": {
      "userId": "amzn1.ask.account.XXXXXXX"
    },
    "new": true
  },
  "request": {
    "type": "IntentRequest",
    "requestId": "EdwRequestId.XXXXXX",
    "locale": "en-US",
    "timestamp": "2017-01-18T22:38:53Z",
    "intent": {
      "name": "AMAZON.StopIntent",
      "slots": {}
    }
  },
  "version": "1.0"
}
Run Code Online (Sandbox Code Playgroud)

以下是相关代码:

var handlers = {
    'LaunchRequest': function () {
        this.emit('AMAZON.HelpIntent');
    },
    'GetNewDogThoughtIntent': function () {
        this.emit('GetDogThought');
    },
    'GetNewCatThoughtIntent': function () {
        this.emit('GetCatThought');
    },
    'GetDogThought': function () {
        var dogthoughtIndex = Math.floor(Math.random() * DOGTHOUGHTS.length);
        var randomDogThought …
Run Code Online (Sandbox Code Playgroud)

alexa node.js alexa-skills-kit

6
推荐指数
1
解决办法
4189
查看次数

Alexa Skill - 以编程方式更新Intent

我正在尝试创建一个Alexa技能,它可以使用相当广泛的短语.手写太多太多了.

我可以以编程方式生成列表,但它经常更改,所以我希望它经常更新.

是否有我可以调用的Amazon API来更新自定义插槽类型的可能值,而无需手动登录并一直复制和粘贴它?

amazon-web-services alexa aws-sdk alexa-skills-kit

6
推荐指数
2
解决办法
2544
查看次数

如何在Alexa Skill lambda函数中正确指定SSML?

我正在尝试制作一个Alexa技能,其中Alexa说的是用SSML标记的东西.我试图模仿这个回购中的例子,但我总是收到一个lambda响应

{
  ...
  "response": {
    "outputSpeech": {
      "type": "SSML",
      "ssml": "<speak> [object Object] </speak>"
    },
  ...
}
Run Code Online (Sandbox Code Playgroud)

和Alexa字面上说"对象对象".


这是我输入到我的lambda函数(使用node.js):

var speechOutput = {
    type: "SSML",
    ssml: 'This <break time=\"0.3s\" /> is not working',
};

this.emit(':tellWithCard', speechOutput, SKILL_NAME, "ya best not repeat after me.")
Run Code Online (Sandbox Code Playgroud)

像这样设置speechOutput也不起作用:

var speechOutput = {
    type: "SSML",
    ssml: 'This <break time=\"0.3s\" /> is not working',
};
Run Code Online (Sandbox Code Playgroud)


编辑:

index.js

'使用严格';

var Alexa = require('alexa-sdk');

var APP_ID = "MY_ID_HERE";
var SKILL_NAME = "MY_SKILL_NAME";

exports.handler = function(event, context, …
Run Code Online (Sandbox Code Playgroud)

ssml alexa node.js aws-lambda alexa-skills-kit

6
推荐指数
2
解决办法
8093
查看次数

如何创建从HTTP/HTTPS API获取数据的Alexa技能(对AWS Lambda上的Node.js使用"Alexa Skills Kit")

我想为Amazon Alexa创建一项技能 - 当由语音命令触发时 - 通过HTTPS请求从API获取一些信息,并将结果用作Alexa用户的口头答复.

由于node.js的事件驱动概念和Node.jsAlexa Skills Kit的内部结构,这里有一点挑战(特别是对于node.js新手).从用户那里获取参数也不是那么容易.

有人可以提供一些示例代码吗?

https lambda http node.js alexa-skills-kit

6
推荐指数
1
解决办法
1万
查看次数

有没有办法使用CLI配置Alexa技能?

有没有办法使用CLI配置Alexa技能?

我理解如何使用CLI设置和管理相应的Lambda代码,但我认为无法对Alexa技能做同样的事情(例如设置或上传更新的Intent Schema或插槽等).

有没有办法做到这一点,还是Alexa开发者控制台唯一可用的方法?

command-line-interface amazon-web-services alexa alexa-skills-kit

6
推荐指数
1
解决办法
517
查看次数

如何在 AWS Lambda 项目中存储和加载自定义 json 应用程序设置和连接字符串?

我正在 Visual Studio 中开发 Alexa Skills Kit 应用程序,并在 .NET Core 2.0 中创建了 AWS Lambda 项目。创建项目时,它会自动附带一个名为 aws-lambda-tools-defaults.json 的文件。此处的设置由 AWS Lambda 函数使用。

现在,我想存储我自己的应用程序设置和连接字符串以供应用程序使用。如何存储我的设置并将其写入代码的首选途径是什么?

我已经添加了名为 Microsoft.Extensions.Configuration.Json 的 NuGet 包。但我不确定我从这里做什么。

1) 我是否需要创建另一个 json 文件,或者我可以使用现有文件 aws-lambda-tools-defaults.json 吗?如果我确实需要创建一个新文件,它应该被命名为什么?

2)是否需要将构造函数添加到 Function.cs 文件中才能加载 json 文件?

3)我可以编写哪些代码来实际获取我的设置和连接字符串?

我在这里有点迷失,所以任何建议都会很有帮助!谢谢你!

json amazon-web-services visual-studio .net-core alexa-skills-kit

5
推荐指数
1
解决办法
3354
查看次数

访问 Amazon Alexa Console console.log() 内容

我正在使用基于在线的Amazon Alexa Console 测试套件AWS Lambda来开发 Alexa 技能。如何访问 的内容console.log('STATE: ' + stateAbbreviation)

Lambda函数代码:

function getSmallImage(stateAbbreviation) {
  console.log('STATE: ' + stateAbbreviation);
  return getImageUrl(400, 720, stateAbbreviation);
}
Run Code Online (Sandbox Code Playgroud)

amazon-web-services node.js console.log alexa-skills-kit

5
推荐指数
1
解决办法
4504
查看次数

如何通过 CloudFormation 为 lambda 函数配置 Alexa Skills Kit 触发器?

我正在开发 Alexa 技能,并希望使用 CloudFormation 为我的技能部署基础设施。

到目前为止,IAM 角色、策略和 lambda 函数部署工作正常。我缺少的是 Alexa Skill Kit 中用于 lambda 函数的触发器。

目前我必须在 AWS 控制台中手动创建此触发器:

AWS 控制台 UI 为 lambda 函数添​​加 Alexa Skills Kit 触发器

或者通过 CLI:

aws lambda add-permission --function-name DeutscheDeklinationLambdaFunction --statement-id 1 --action lambda:invokeFunction --principal alexa-appkit.amazon.com --region eu-west-1
Run Code Online (Sandbox Code Playgroud)

但我更愿意通过 CloudFormation 配置此触发器。我认为应该是https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html,但我找不到如何为 Alexa Skills Kit 实现这一点。

amazon-web-services aws-cloudformation alexa-skills-kit

5
推荐指数
1
解决办法
918
查看次数