【问题标题】:Simple Alexa skill with logging带有日志记录的简单 Alexa 技能
【发布时间】:2019-10-12 19:59:57
【问题描述】:

我有一个简单的 Alexa Skill - 在 Alexa 开发者控制台中开发,在 index.js 中有一些简单的 JS。 Alexa 在 Test-Tab 中表现良好(只需对 launchEvent 回复“Hello”即可。

我现在想通过 console.log(...) 实现一些日志记录

但我能找到的所有信息是:“只需执行 console.log,您就会在 Cloudwatch 的某处找到输出”

但是在 AWS Cloudwatch 中,我可以在“日志”下创建“日志组”——但是如何将这样的日志组与我的 Alexa 技能连接起来?还是 console.log 输出会自动出现在其他地方?

【问题讨论】:

  • 如果有权限,Lambda 将为您创建日志组。你试过运行console.log()吗?
  • 是的,我在 javascript 代码中多次使用了 console.log()。我拥有 cloudwatch:* 和 lambda:* 的所有权限
  • 日志权限在 logs:* not cloudwatch:*

标签: logging alexa alexa-skills-kit amazon-cloudwatch


【解决方案1】:

您无需在 cloudwatch 上创建任何内容。只需转到cloudwatch console 并单击左侧面板中的“日志”。单击名称包含您的 lambda 函数名称的日志组(只需确保您的 lambda 函数具有“基本执行角色策略”)。现在您将看到日志列表。只需单击具有最新时间戳的那个。您的每次部署都会在这些日志中创建一个新条目。我建议您按时间降序对日志进行排序。如果您仍然遇到任何问题,请在 cmets 中告诉我。

再次确保您的 lambda 函数具有在 cloudwatch 上写入的权限。

【讨论】:

    【解决方案2】:

    好的,解决方案不是使用我的 AWS/AlexaDev 帐户登录 AWS 控制台并查看那个 cloudwatch。 我必须使用 Alexa 编码视图左下角的“日志:Amazon Cloudwatch”链接。然后我导航到“另一个” Cloudwatch 列表,其中包含我的所有日​​志 - 但我随后以完全不同的用户身份自动登录:“VoiceHubSSORole”

    【讨论】:

    • 嗨@konrad,您能否访问 VoiceHubSSORole?
    • @Raj 是的,我是。
    • 当我尝试单击日志时,我的 aws 帐户被注销,并且此配置文件“VoiceHubSSORole”自动登录。因此,当我尝试访问此帐户下的 lambda 函数或任何其他服务时,它说访问被拒绝。实际上我想在这个角色下查看 codecommit 服务来查看这个技能的旧提交或分支,或者我一直在寻找错误的方向,请帮忙!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-02-06
    • 2016-04-22
    • 1970-01-01
    • 2011-12-29
    • 2011-01-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多