【问题标题】:Alexa not finding my SkillAlexa没有找到我的技能
【发布时间】:2015-09-16 11:39:30
【问题描述】:

我根据 Alexa Skills Kit 中提供的示例之一将我的 Alexa Skill 创建为 AWS Lambda Node.js 应用程序。我按照所有说明进行操作:

  1. 我的 Echo 与我在 AWS 上的开发者帐户使用相同的帐户注册
  2. 我在亚马逊开发者控制台上配置了我的技能
  3. 我将控制台中的应用程序 ID 放入我的应用程序代码中
  4. 我将代码上传到 AWS Lambda 服务(按照说明设置为弗吉尼亚北部)
  5. 我测试了我的服务,它返回了预期的 JSON
  6. 我在开发者控制台中输入了我的 ARN 作为端点
  7. 在控制台的下一步中,它告诉我通过说“Alexa,问 HelloWorld”来测试 Echo 的技能。

当我这样做时,她回答“与请求的应用程序通信时出现问题。”在 Echo 应用程序中它说:

意外的通信问题 HelloWorld 请求标识符: amzn1.echo-api.request.e2d17280-592a-474f-a6b1-d1a9d8ff816d 有 与请求的应用程序通信时出现问题

我可以从我的 AWS Lambda 函数列表中看到没有请求到达该服务。我重新启动了 Echo。我给了它一个小时,以防它只是需要时间传播到某个地方,但它仍然给出相同的响应。

所以这是一个相当模糊的死胡同。有没有人遇到过这个?有什么想法可以尝试吗?

【问题讨论】:

    标签: aws-lambda alexa-skill alexa-skills-kit


    【解决方案1】:

    我注意到您没有提到设置事件源。这是文档 here 中的 sn-p。

    添加 Alexa Skills Kit 事件源

    将 Alexa Skills Kit 事件源添加到您的函数会授予 Alexa 必要的函数调用权限。

    Log in to the AWS Management Console and navigate to AWS Lambda.
    Select your function in the list.
    Click Actions and then select Add event source.
    Select Alexa Skills Kit from the Event source type.
    Click Submit.
    

    此外,请随时查看 Alexa Skills Kit 知识库子论坛以获取常见问答列表here

    谢谢!

    【讨论】:

    • 这对我有用。我认为应该是正确的答案
    • 是的,这正是我所需要的。谢谢,贾斯汀!
    • 有什么方法可以在没有 lambda 的情况下将自定义技能托管为 Web 服务,请通过此链接:stackoverflow.com/questions/39641640/…
    猜你喜欢
    • 1970-01-01
    • 2018-04-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-01-21
    相关资源
    最近更新 更多