标签: alexa-skills-kit

无法从AWS Lambda上托管的Alexa技能中将数据推送到Firebase

我在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

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

如何在开发阶段通过启用alexa的设备测试亚马逊alexa自定义技能?

我已经创建了一项技能并希望在设备上进行测试?

我已经设法在echosim.io上测试它.

alexa aws-lambda alexa-skill alexa-skills-kit alexa-voice-service

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

如何使用Amazon Alexa访问本地API

我打算为亚马逊Alexa构建一套技能,它将与我家中的RaspberryPi上运行的自定义软件套件集成.

我正在努力弄清楚如何让Echo/Dot本身直接对raspberry pi进行API调用 - 无需通过互联网,因为目标设备将只有内联网连接 - 它将能够接收来自本地网络上的设备的命令,但无法通过世界访问.

根据我的阅读,典型的工作流程如下

Echo -> Alexa Service -> Lambda
Run Code Online (Sandbox Code Playgroud)

Lambda函数将向智能家居设备返回一大块数据; 使用此返回值

是否有可能,在收到lambda的响应后,如何让Alexa设备本身向本地网络上的设备发出API请求?

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

5
推荐指数
2
解决办法
6660
查看次数

使用ask-cli部署alexa技能时"构建技能模式失败"错误

我在亚马逊技能商店有一个alexa技能.该技能的交互模型是使用alexa开发门户的技能构建者开发的,并且lambda函数是单独上传的.技能是实时的,有很多用户.

最近我觉得有必要对这项技能做一些改变.从现在开始我使用ask-cli进行所有alexa技能开发,我决定也使用相同的技能.

以下是我遵循的步骤:

  • 克隆了alexa控制台中的技能,使用命令问克隆并选择我想要进行更改的技能.

  • 对技能进行了必要的修改.刚刚改变了回应,没什么特别的.

  • 尝试使用ask deploy命令再次将技能部署到alexa控制台

但是我收到以下错误:

[Error]: Building skill schema failed
Run Code Online (Sandbox Code Playgroud)

我认为我所做的更改可能是它的原因,所以我回溯了更改并使代码成为克隆时的代码.然后我尝试再次部署代码,但错误保持不变.

我在亚马逊门户网站上找到了一些答案,这是其他问题的最常见原因,在技能图标URI的URI中存在一些错误.可以肯定的是,我还从skill.json中删除了该行,并尝试再次部署它,但没有任何改变.

有没有人知道上述问题的原因?

alexa alexa-skill alexa-skills-kit ask-cli

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

如何将Dialog.Delegate指令返回给Alexa Skill模型?

我想用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

先感谢您.

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

5
推荐指数
2
解决办法
4086
查看次数

AWS Alexa技能与oauth 2链接

大家好

我是 Amazon Alexa 的新手,我有一项使用 PHP 与 oauth 2.0 链接到 Alexa Skill 帐户的工作。

我已成功配置所有内容并获取代码,Auth Code Grant但是当我在 Chrome 浏览器中运行代码时,它会产生Account linking Failed问题,但当我在 Firefox 中运行相同的 URL 时,它会Amazon linking failed生成ERROR=missing-state.

请帮助我解决我的问题,任何帮助将不胜感激。

php oauth-2.0 alexa-skills-kit

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

Alexa 模拟器上显示“请求的技能响应存在问题”

我正在尝试使用示例“hello world”lambda 函数设置示例 Alexa 技能集。但是在Alexa模拟器上测试时,显示There was a problem with the requested skills response如下图。 在此输入图像描述

我创建了一个示例 Alexa 技能集,并使用端点部分中的 ARN 与 AWS lambda 函数连接。

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

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

如何通过 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
查看次数

亚马逊 Alexa 技能无法正确运行正在运行的 Python 代码

我正在用 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

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

aws lambda,ask_sdk_core 模块未导入

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 控制台 2 中的 Lambda

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

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