【问题标题】:How do I revise a live Alexa skill?如何修改实时 Alexa 技能?
【发布时间】:2019-03-16 19:31:09
【问题描述】:

我需要修改我已发布的 Alexa 技能。我熟悉亚马逊在发布技能后自动创建的“开发中”技能版本。我不明白的是如何迭代我的技能,尤其是当我需要同时更改交互模型和链接的 Lambda 函数时?

例如,我可以创建一个单独的“开发中”Lambda 函数,并将其设为我的“开发中”Alexa 技能的默认端点。但是,当我提交我的“开发中”Alexa 技能以供发布时,该“开发中”Lambda 端点将成为我已发布技能的新端点。我想这可行,我认为这就是亚马逊的意图,但我不想回收我的 Lambda 函数、重新配置 X 射线追踪等。我使用无服务器框架来部署链接到我的 Alexa 的 Lambda 函数技能,它为我的 Lambda 版本提供了版本。

推荐的工作流程是什么?我觉得我在这里缺少一些基本的东西。

除了“edit the development version”之外,我找不到任何亚马逊文档,这显然是不够的。该页面有一个指向“Revise and Update Your Skill after Publication”的链接,但单击它会将我转到有关技能分配的页面。

【问题讨论】:

    标签: aws-lambda alexa serverless-framework alexa-skill


    【解决方案1】:

    Alexa 技能

    正如您所说,当您的技能发布时,您将拥有一个实时版本和开发版本。您的技能的实时版本和开发版本都显示在开发者控制台上。

    您现在可以对技能的开发版本进行更改,例如:交互模型更改、端点更改等。开发人员门户中的任何更改都需要您的技能通过认证过程。

    当您提交新版本进行认证时,这两个版本都会保留在您的列表中,直到新版本获得认证。一旦新版本通过认证,它就会变为活动版本并取代之前的活动版本。所有现有用户都将拥有您技能的实时/最新版本。然后会创建一个新的开发版本,以便您继续进行更新。

    Lambda 函数

    首次创建 Lambda 函数时,默认版本为 LatestLatest 是您的开发版本,您可以对此进行更改。在开发过程中,您将在 Alexa 门户中使用 Lambda 函数的Latest 版本(开发版本)的arn。一旦您完成了 Lambda 函数的更改和更新,并且您觉得必须发布它,您就可以对其进行版本控制。当您发布 Lambda 函数的版本(您可以提供版本名称)时,您将拥有两个版本 Latestreleased-version。您将无法再更改您的 Lambda 的 released-version。您可以继续更新Latest 版本并按您的意愿发布。

    在提交技能以供认证之前,发布一个 Lambda 版本并在 Alexa 开发人员门户中使用它始终是一种很好的做法。

    通过这种方式,您可以将版本化的不可编辑 Lambda 链接到您的实时技能。而对于技能的开发版本,您可以使用同一个Lambda函数的Latest版本继续进行更新。

    更多关于版本控制 Lambda 函数here

    【讨论】:

    • 事实上,您可以分析和测量正在使用的和正在测试的性能
    • 感谢您的详尽回答,西西尔。我觉得我理解 Alexa Skill 版本控制流程很好,但我仍然对链接的 Lambda 函数没有清晰的愿景。你能举一个你在最后一段中描述的例子吗?
    • 感谢您的更新。我认为这对于创建新技能和新 lambda 是很好的,但我认为这不适用于编辑现有的实时技能及其相关 lambda。给定一项技能及其 lambda 是实时的(已发布版本),并且我已经对每个(最新)的单独开发版本进行了更改,当我准备提交认证时,我必须创建第三个 lambda : 发布候选版本。每次我想改变我的现场技能时,我都必须这样做。我有一项需要 9 个 lambda、一个网关和一个 Dynamo DB 的技能。一切的三个版本? :(
    • 这适用于现有技能和 Lambda。仅在需要时发布一个版本。如果您的技能只有交互模型更改,那么您不必发布另一个版本的 Lambda。如果您只对一个 Lambda 进行更改,则只需发布该特定 Lambda 的一个版本。同样,仅在需要时发布一个版本。认证过程仅适用于 Alexa 开发者门户中的更改。
    • 感谢您的回答。我会继续考虑的。也许这确实是最好的方法,我只需要停止抱怨亚马逊没有更好的工具集来部署更改。 :D
    【解决方案2】:

    Alexa 创建开发和实时版本的技能。您可以更改开发版本以包含更新。对我来说,在指定 AWS Lambda arn 时,我无法指定版本字段。每当我尝试保存版本设置为 $Latest 或版本号或别名的 ARN 时,Alexa 开发人员控制台都会出错。所以我创建了 2 个 lambda 函数。一个指向旧版技能,一个指向新版技能。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-01-04
      • 2023-01-21
      • 2021-02-27
      • 2020-05-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多