如果有一种方法可以使用ASK CLI v2附带的lambda功能在本地计算机上克隆现有的Alexa技能

问题描述

我想用处理该逻辑的lambda将我现有的Alexa技能克隆到本地计算机中,在ASK CLI v1中,我使用了“ clone”命令并且运行良好,但是现在在ASK CLI V2中我看不到这个命令,我无法使用ASK INIT克隆我的Alexa技能。

在ASK CLI V2中是否有与“克隆”类似的命令?谢谢。

解决方法

对于Alexa主持的技能,您应该运行:

ask init --hosted-skill-id YOUR_SKILL_ID

根据文档:

ask init [--hosted-skill-id <hosted-skill-id>]
         [--profile | -p <profile>]
         [--debug]

-hosted-skill-id (可选)。指定Alexa托管技能的技能ID将启动工作流程,以克隆技能到当前目录。

您可以在documentation中找到更多有趣的标志。

根据ASK CLI v1 to v2 Migration guide,当您使用自己的lambda时:

要将AWS Lambda上托管的技能代码迁移到本地计算机,请从AWS Lambda导出技能代码。下载技能代码后,请在项目目录中运行ask init以下载Alexa Skill Package资源,并设置项目以使用ASK CLI进行部署。

,

对于Alexa主持的技能,@ slawciu的说明完全正确。

对于非托管技能,请查看ask-cli中的“常见问题解答”部分:https://github.com/alexa/ask-cli/blob/develop/docs/FAQ.md#q-since-v2-ask-cli-removes-ask-clone-command-what-should-i-do-to-download-my-skill-project

总而言之,您需要:

 0. $ mkdir {folderName} ; cd {folderName}
 1. $ ask smapi export-package --skill-id {skillID}. 
    // this download skill-package folder to your local
 2. download your lambda source code into the folder.
 3. $ ask init
    //setup your skill project with a wizard command

完成这些步骤后,您可以通过运行询问部署来部署项目。