【问题标题】:Skill Flow Builder Lambda Function reset the DynamoDBSkill Flow Builder Lambda 函数重置 DynamoDB
【发布时间】:2020-02-06 03:20:43
【问题描述】:

为这个问题的标题道歉。很难以其他方式表达。我使用他们的新开发工具(Skill Flow Builder)构建了一个 Alexa 技能。此工具具有部署技能并创建运行它所需的 Lambda 函数的功能。此 Lambda 函数使用 DynamoDB 存储有关变量的信息,以及代表您在技能中的当前位置的场景名称。

我已经对技能进行了编辑,并对其进行了彻底的测试,但我现在已经删除了所有旧场景并用新名称替换了它们。

现在,当我部署并尝试运行该技能时,它会引发错误,因为它正在尝试查找不再存在的场景的名称。它这样做是因为它想在那个时候恢复技能。旧场景名称存储在数据库中。

这是 Lambda 函数抛出的错误消息:

{"errorMessage":"Cannot find the scene not interesting.","errorType":"Error","stackTrace":["StoryAccessor.getSceneByID (/var/task/node_modules/@alexa-games/sfb-f/dist/storyEntities/StoryAccessor.js:28:19)","ACEDriver.processScene (/var/task/node_modules/@alexa-games/sfb-f/dist/driver.js:435:47)","ACEDriver.resumeStory (/var/task/node_modules/@alexa-games/sfb-f/dist/driver.js:188:41)","<anonymous>","process._tickDomainCallback (internal/process/next_tick.js:228:7)"]}

是那个被称为“不有趣”的场景,再也找不到了。

问题是,如何重置技能,使其不使用DB恢复最后一点的技能?

【问题讨论】:

    标签: aws-lambda amazon-dynamodb alexa alexa-skills-kit


    【解决方案1】:

    答案当然是当您的技能发生重大变化时启动一个新的 DynamoDB 表:在我的例子中,场景名称的完全变化。

    在技能流生成器abcConfig.json 文件中,编辑default 对象中的dynamo-db-session-table-name 字符串以及您的技能的所有其他设置。给它一个新名称,然后重新部署。它将构建一个新表。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-05-05
      • 2020-02-27
      • 1970-01-01
      • 2018-08-29
      • 2017-02-16
      • 2021-12-28
      • 1970-01-01
      相关资源
      最近更新 更多