我在Firebase中有一个数据库,我正在尝试从我的Alexa Skill中编写一些数据.该技能的Node.js代码位于AWS Lambda函数内,当运行该代码时,我想将一些数据推送到Firebase.
我已经测试了连接到Lambda之外的Firebase并推送到Firebase的代码,它完全按预期工作.以下是该代码:
var firebase = require('firebase');
firebase.initializeApp({
databaseURL: 'https://myapp.firebaseio.com',
serviceAccount: './myapp.json',
});
var cart = firebase.database().ref('/cart');
console.log(cart);
cart.push( {
item: 'apples', quantity: '1', amount: '0'
}, function(error) {
if (error) {
console.log("Data could not be saved." + error);
} else {
console.log("Data saved successfully.");
}
});
Run Code Online (Sandbox Code Playgroud)
从Lambda函数执行时,相同的代码不会向数据库实例推送任何内容.我在网上看到Lambda超时限制可能是这个的原因,所以我将超时限制增加到一分钟,它仍然没有按预期运行.我也尝试使用Firebase REST API而不是他们的Node.js SDK,但这也不起作用.从AWS Lambda中将数据推送到Firebase的正确方法是什么?
amazon-web-services firebase aws-lambda firebase-realtime-database alexa-skills-kit
我已经创建了一项技能并希望在设备上进行测试?
我已经设法在echosim.io上测试它.
alexa aws-lambda alexa-skill alexa-skills-kit alexa-voice-service
我打算为亚马逊Alexa构建一套技能,它将与我家中的RaspberryPi上运行的自定义软件套件集成.
我正在努力弄清楚如何让Echo/Dot本身直接对raspberry pi进行API调用 - 无需通过互联网,因为目标设备将只有内联网连接 - 它将能够接收来自本地网络上的设备的命令,但无法通过世界访问.
根据我的阅读,典型的工作流程如下
Echo -> Alexa Service -> Lambda
Run Code Online (Sandbox Code Playgroud)
Lambda函数将向智能家居设备返回一大块数据; 使用此返回值
是否有可能,在收到lambda的响应后,如何让Alexa设备本身向本地网络上的设备发出API请求?
我在亚马逊技能商店有一个alexa技能.该技能的交互模型是使用alexa开发门户的技能构建者开发的,并且lambda函数是单独上传的.技能是实时的,有很多用户.
最近我觉得有必要对这项技能做一些改变.从现在开始我使用ask-cli进行所有alexa技能开发,我决定也使用相同的技能.
以下是我遵循的步骤:
克隆了alexa控制台中的技能,使用命令问克隆并选择我想要进行更改的技能.
对技能进行了必要的修改.刚刚改变了回应,没什么特别的.
但是我收到以下错误:
[Error]: Building skill schema failed
Run Code Online (Sandbox Code Playgroud)
我认为我所做的更改可能是它的原因,所以我回溯了更改并使代码成为克隆时的代码.然后我尝试再次部署代码,但错误保持不变.
我在亚马逊门户网站上找到了一些答案,这是其他问题的最常见原因,在技能图标URI的URI中存在一些错误.可以肯定的是,我还从skill.json中删除了该行,并尝试再次部署它,但没有任何改变.
有没有人知道上述问题的原因?
我想用Alexa Skill模型创建一个简单的多转对话框.我的意图包括3个插槽,每个插槽都需要满足意图.我提示每个插槽并定义所有需要的话语.
现在我想用Lambda函数处理请求.这是我对这个特定Intent的函数:
function getData(intentRequest, session, callback) {
if (intentRequest.dialogState != "COMPLETED"){
// return a Dialog.Delegate directive with no updatedIntent property.
} else {
// do my thing
}
}
Run Code Online (Sandbox Code Playgroud)
那么我将如何继续使用该Dialog.Delegate指令构建我的响应,如Alexa文档中所述?
https://developer.amazon.com/docs/custom-skills/dialog-interface-reference.html#scenario-delegate
先感谢您.
大家好
我是 Amazon Alexa 的新手,我有一项使用 PHP 与 oauth 2.0 链接到 Alexa Skill 帐户的工作。
我已成功配置所有内容并获取代码,Auth Code Grant但是当我在 Chrome 浏览器中运行代码时,它会产生Account linking Failed问题,但当我在 Firefox 中运行相同的 URL 时,它会Amazon linking failed生成ERROR=missing-state.
请帮助我解决我的问题,任何帮助将不胜感激。
我正在开发 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 实现这一点。
我正在用 python 开发一个简单的亚马逊 Alexa 技能。我已经为这个简单的应用程序编写了所有代码,并将其加载到我的 lambda 函数中,我已经测试过 lambda 已加载我导入的库并且它可以与它们一起使用,但是当我使用这个最终代码时,它会出现“所请求的技能响应出现问题” ”
def handle(self, handler_input):
# type: (HandlerInput) -> Response
# https://repl.it/repls/UselessOptimalPipeline
url = "http://jokepro.dx.am/"
source = requests.get(url)
bs4call = bs4.BeautifulSoup(source.text, "html.parser")
obj = bs4call.find('object')
text = requests.get(url + obj['data']).text
# print(text) # <-- to print the textfile
finalJoke = random.choice(text.splitlines())
speak_output = finalJoke
return (
handler_input.response_builder
.speak(speak_output)
#.ask()
.response
)
Run Code Online (Sandbox Code Playgroud)
这是处理函数
lambda 是否与该代码中的任何内容冲突?为什么它不起作用?
更新:这是一些相关信息
要求.txt
boto3==1.9.216
ask-sdk-core==1.11.0
bs4==4.8.2
requests==2.22.0
Run Code Online (Sandbox Code Playgroud)
这一切都不要通过亚马逊开发控制台https://developer.amazon.com/alexa/console/ask
python amazon-web-services python-3.x aws-lambda alexa-skills-kit
ask_sdk_core包含在我的 lambda 函数的requirements.txt文件中。但是,当我运行实际函数时, ask_sdk_core不会导入。我正在跟踪在 中找到的 cake walk 示例,
https://github.com/alexa/skill-sample-python-first-skill/tree/master/module-1
但正在尝试在我的个人 AWS 帐户上创建 lambda,而不是在 Alexa 托管的 lambda 上。
当我将 Alexa 技能指向 Alexa 托管的技能时,技能会按预期运行,但是当指向我通过从 Alexa 技能套件复制代码创建的 lambda 时,lambda 函数不会返回任何结果。
包含 lambda 在个人 AWS 账户上的照片。我尝试更改不同函数名称的多个值,但似乎没有任何效果。
lambda执行结果:
Response:
{
"errorMessage": "Unable to import module 'lambda_function': No module named 'ask_sdk_core'",
"errorType": "Runtime.ImportModuleError"
}
Request ID:
"7f220b6d-49e4-4fbe-99b5-e5cc1d9c129a"
Function Logs:
START RequestId: 7f220b6d-49e4-4fbe-99b5-e5cc1d9c129a Version: $LATEST
[ERROR] Runtime.ImportModuleError: Unable to import module 'lambda_function': No module named 'ask_sdk_core'END RequestId: 7f220b6d-49e4-4fbe-99b5-e5cc1d9c129a
REPORT RequestId: 7f220b6d-49e4-4fbe-99b5-e5cc1d9c129a Duration: 11.39 …Run Code Online (Sandbox Code Playgroud) python-module amazon-web-services python-3.x aws-lambda alexa-skills-kit
alexa-skills-kit ×10
aws-lambda ×7
alexa ×4
alexa-skill ×3
python-3.x ×2
alexa-slot ×1
api ×1
ask-cli ×1
firebase ×1
node.js ×1
oauth-2.0 ×1
php ×1
python ×1