Skill Flow Builder Lambda函数重置DynamoDB

问题描述 投票:0回答:1

此问题标题的歉意。很难用其他方式来表达。我已经使用他们的新开发工具(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)"]}

是无法找到的被称为“有趣”的场景。

问题是,我该如何重置技能,以便它不使用数据库在最后一点恢复技能?

aws-lambda amazon-dynamodb alexa alexa-skills-kit
1个回答
0
投票

当然,答案是,当您对技能进行重大更改时,启动一个新的DynamoDB表:在我的情况下,场景名称中的完整更改。

在Skill Flow Builder abcConfig.json文件中,使用您的所有其他设置,编辑dynamo-db-session-table-name对象中的default字符串。给它起一个新名字,然后重新部署。它将建立一个新表。

© www.soinside.com 2019 - 2024. All rights reserved.