【问题标题】:Lambda function works in Lambda console but not in Test Simulator (Beta)Lambda 函数在 Lambda 控制台中有效,但在测试模拟器(Beta)中无效
【发布时间】:2018-02-14 16:25:43
【问题描述】:

我有一个问题,当我在 Lambda 控制台中运行测试时,我的 lambda 函数正常工作,但在测试模拟器(Beta)中运行相同的代码时却没有。以下是我在这两个地方添加的内容,并对敏感信息进行了编辑:

{
"version": "1.0",
"session": {
    "new": false,
    "sessionId": "xxxxx",
    "application": {
        "applicationId": "xxxxx"
    },
    "user": {
        "userId": "xxxxx"
    }
},
"context": {
    "AudioPlayer": {
        "playerActivity": "IDLE"
    },
    "Display": {
        "token": ""
    },
    "System": {
        "application": {
            "applicationId": "xxxxx"
        },
        "user": {
            "userId": "xxxxx"
        },
        "device": {
            "deviceId": "xxxxx",
            "supportedInterfaces": {
                "AudioPlayer": {},
                "Display": {
                    "templateVersion": "1.0",
                    "markupVersion": "1.0"
                }
            }
        },
        "apiEndpoint": "https://api.amazonalexa.com",
        "apiAccessToken": "xxxxx"
    }
},
"request": {
    "type": "IntentRequest",
    "requestId": "xxxxx",
    "timestamp": "2018-02-13T05:22:11Z",
    "locale": "en-US",
    "intent": {
        "name": "OpenTicketIntent",
        "confirmationStatus": "NONE",
        "slots": {
            "Project": {
                "name": "Project",
                "confirmationStatus": "NONE"
            },
            "Assignee": {
                "name": "Assignee",
                "confirmationStatus": "NONE"
            },
            "TicketType": {
                "name": "TicketType",
                "value": "bug",
                "resolutions": {
                    "resolutionsPerAuthority": [
                        {
                            "authority": "xxxxx",
                            "status": {
                                "code": "ER_SUCCESS_MATCH"
                            },
                            "values": [
                                {
                                    "value": {
                                        "name": "Bug",
                                        "id": "xxxxx"
                                    }
                                }
                            ]
                        }
                    ]
                },
                "confirmationStatus": "NONE"
            },
            "IssueTitle": {
                "name": "IssueTitle",
                "confirmationStatus": "NONE"
            }
        }
    },
    "dialogState": "STARTED"
}

}

当我要求我的技能在模拟器中自行打开时,它会完美打开。我得到了正确的回应。但是当我之后问它一个问题(“打开一个错误”,以及我在我的对话模型中的许多变体)时,我得到“请求的技能的响应有问题”。难道我做错了什么?除非我使用物理设备,否则这不会起作用吗?

【问题讨论】:

  • 您提供的 JSON 是 Alexa 请求,而不是 Alexa 响应。如果你把它寄回去,她不会明白的。你能发布你用来发送响应的代码吗?

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


【解决方案1】:

关于 lambda 函数的任何问题,您应该检查 lambda 函数的日志文件。

  1. 在 Lambda 管理控制台中选择您的 lambda 函数
  2. 点击“监控”(在“配置”选项卡旁边)
  3. 在右侧,您可以看到“调用错误”框。在方框内,点击“跳转到日志”

然后您将被重定向到您的 lambda 函数的最新日志文件。我认为您可以自行解决问题,也可以向我们提供有关错误的其他信息。

干杯,马格纳斯

【讨论】:

  • 我在 lambda 函数的 Cloudwatch 日志中得到零错误。那里的一切似乎都很顺利。有趣的是,当我从 Echo 设备调用意图时,我得到“抱歉,我现在无法访问你的 xxx 技能”。第一次打开技能时不会发生这种情况,只是在调用此意图时。这也是我唯一的意图。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-03-15
  • 2020-04-11
  • 2019-06-03
  • 1970-01-01
  • 1970-01-01
  • 2018-05-21
  • 2019-05-23
相关资源
最近更新 更多