我正在尝试将Amazon Echo用于我公司内的实用程序项目.我有一堆内部网站点,我打算从中收集信息并开发自定义技能,让用户查询数据.但是客户端jar(我正在使用java)需要上传到AWS以创建Lambda函数,然后才能使用该自定义技能.这不起作用,因为我的jar需要从这些Intranet系统中使用Web服务.
有没有办法在不使用AWS的情况下在私有网络中运行Echo?我试图在互联网/ stackoverflow上找到任何相关信息,但不能.
我们将创建一个允许用户控制Wi-Fi LED的Alexa技能.每次用户使用该技能时,我们希望我们可以在该技能的AWS Lambda函数中使用的SDK的回调中获取用户的帐户信息.
例如,用户登录到他的亚马逊帐户并使用他的Alexa-Enabled设备并说"Alexa,要求打开".然后,我们所做的技能将触发Lambda函数并传递用户的帐户详细信息,以便我们可以在我们的主机中检查该用户是否拥有该设备.
那么,在包含用户帐户信息的Alexa Skill Kit中使用的Java SDK中是否有回调?
谢谢!
我的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技能,它可以使用相当广泛的短语.手写太多太多了.
我可以以编程方式生成列表,但它经常更改,所以我希望它经常更新.
是否有我可以调用的Amazon API来更新自定义插槽类型的可能值,而无需手动登录并一直复制和粘贴它?
我正在尝试制作一个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) 我想为Amazon Alexa创建一项技能 - 当由语音命令触发时 - 通过HTTPS请求从API获取一些信息,并将结果用作Alexa用户的口头答复.
由于node.js的事件驱动概念和Node.js的Alexa Skills Kit的内部结构,这里有一点挑战(特别是对于node.js新手).从用户那里获取参数也不是那么容易.
有人可以提供一些示例代码吗?
有没有办法使用CLI配置Alexa技能?
我理解如何使用CLI设置和管理相应的Lambda代码,但我认为无法对Alexa技能做同样的事情(例如设置或上传更新的Intent Schema或插槽等).
有没有办法做到这一点,还是Alexa开发者控制台唯一可用的方法?
command-line-interface amazon-web-services alexa alexa-skills-kit
我正在 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
我正在使用基于在线的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) 我正在开发 Alexa 技能,并希望使用 CloudFormation 为我的技能部署基础设施。
到目前为止,IAM 角色、策略和 lambda 函数部署工作正常。我缺少的是 Alexa Skill Kit 中用于 lambda 函数的触发器。
目前我必须在 AWS 控制台中手动创建此触发器:
或者通过 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 实现这一点。
alexa-skills-kit ×10
alexa ×5
node.js ×4
aws-lambda ×2
.net-core ×1
alexa-skill ×1
aws-sdk ×1
console.log ×1
http ×1
https ×1
json ×1
lambda ×1
ssml ×1