我需要修改我发布的Alexa技能。我熟悉Amazon发布一项技能后自动创建的“开发中”技能版本。我不了解如何迭代自己的技能,尤其是当我需要同时更改交互模型和链接的Lambda函数时?
例如,我可以创建一个单独的“开发中” Lambda函数,并将其设置为我“开发中” Alexa技能的默认端点。但是,当我提交自己的“开发中” Alexa技能进行发布时,“开发中” Lambda端点将成为我发布的技能的新端点。我想这可能行得通,而且我认为这就是Amazon想要的,但是我不想回收我的Lambda函数,重新配置X射线跟踪等。我使用无服务器框架来部署链接到我的Alexa的Lambda函数。技能,它为我带来了Lambda。
推荐的工作流程是什么?我觉得这里缺少基本知识。
除了“ edit the development version”以外,我找不到任何有关此内容的Amazon文档。该页面具有指向“ Revise and Update Your Skill after Publication”的链接,但是单击它会将我带到关于技能分配的页面。
答案 0 :(得分:5)
正如您所说,发布技能时,您将拥有实时版本和开发版本。开发人员控制台上同时显示了您的技能的实时版本和开发版本。
您现在可以对技能的开发版本进行更改,例如:交互模型的更改,端点更改等。开发人员门户中的任何更改都需要您的技能才能通过认证过程。
当您提交新版本的认证时,两个版本都会保留在列表中,直到新版本通过认证为止。新版本通过认证后,它将立即生效并替换以前的实时版本。所有现有用户都将拥有您技能的实时/最新版本。然后创建一个新的开发版本,以便您可以继续进行更新。
首次创建Lambda函数时,默认版本为Latest
。 Latest
是您的开发版本,您可以对此进行更改。在开发期间,您将在Alexa门户中使用Lambda函数的arn
版本(开发版本)的Latest
。完成Lambda函数的更改和更新后,如果您认为必须发布该函数,请对其进行版本控制。发布Lambda函数的版本(可以提供版本名称)时,将有两个版本Latest
和released-version
。您将无法再更改Lambda的released-version
。然后,您可以继续对Latest
版本进行更新,并根据需要发布它。
在提交认证技能之前,发布Lambda版本并在Alexa开发人员门户中使用它总是一个好习惯。
通过这种方式,您可以将版本无法编辑的Lambda链接到您的实时技能。对于该技能的开发版本,您可以使用同一Lambda函数的Latest
版本继续进行更新。
有关Lambda函数here的版本控制的更多信息。
答案 1 :(得分:0)
Alexa创造了技能并进行了现场开发。您可以更改开发版本以包括更新。对我来说,当指定AWS Lambda arn时,我无法指定版本字段。每当我尝试保存版本设置为$ Latest或版本号或别名的ARN时,Alexa开发人员控制台都会出现错误。因此,我创建了2个lambda函数。一个指向旧版本的技能,另一个指向新版本的技能。